首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Richedit样式格式会自行更改

Richedit样式格式会自行更改
EN

Stack Overflow用户
提问于 2012-05-18 07:55:13
回答 2查看 4.6K关注 0票数 2

(如果您能更好地理解和定义我的问题,请编辑标题。)

我遇到的问题是,RichEdit的样式格式“还原”回默认的"nothing“(也就是[] ),然后又回到我设置的任何值,例如粗体或斜体。

错误的地方-我假设,因为我不知道它是如何破坏东西的-是一个过程(REMainLinesCheck),它检查RichEdit中的行数,并删除第一行,直到到达某个点(一次最多显示14行),如下所示:

代码语言:javascript
复制
while REMain.Lines.Count > 14 do
  REMain.Lines.Delete(0); 

在向RichEdit添加行的其他过程中,我有6次执行上述过程,但它们都没有更改RichEdit.SelAttributes.Style,只有一次只添加了一条粗体行,如下所示:

代码语言:javascript
复制
REMain.SelAttributes.Style := [fsBold];
REMain.Lines.Add('something');
REMainLinesCheck;

因此,我删除了所有出现的地方,只留下一个,并开始四处查看,没过多久就发现它工作正常,正常添加的行和粗体行正常添加,多余的行被删除-没有问题。但是,一旦我将REMainLinesCheck过程重新引入到另一个过程中(为了清楚起见,我们称其为Proc3Lines,因为它就是这样做的:添加3行,然后调用检查多余的行),这个Proc3Lines后面应该是粗体的每一行都不是……根据我在这里的经验,似乎REMainLinesCheck在Proc3Lines中做了一些事情,因为没有它一切都很好。

显然,这不是一个相互调用的过程循环,但代码的其他部分与此RichEdit无关,更不用说我没有将RichEdit.SelAttributes.Style anywhere更改为REMain,除了我已经显示的一个地方,在同一单元中有另一个RichEdit,我确实像那样更改了它的行的样式,但这不可能以任何方式相关……可能吗?(不,我刚刚检查过了。)

基本上:见鬼的Delphi是什么?没有比这更简单的了,我仍然在设法失败,有人能解释和/或修复这个问题吗?提出问题,如果有什么不清楚的地方,我会尽可能详细地说明。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-18 08:43:08

要将格式应用于新添加的行,请使用以下命令:

代码语言:javascript
复制
procedure TForm1.Button1Click(Sender: TObject);
var
  LineIndex: Integer;
begin
  LineIndex := RichEdit1.Lines.Add('Something');
  RichEdit1.SelStart := RichEdit1.Perform(EM_LINEINDEX, LineIndex, 0);
  RichEdit1.SelLength := RichEdit1.Perform(EM_LINELENGTH, RichEdit1.SelStart, 0);
  RichEdit1.SelAttributes.Style := [fsBold];
end;
票数 6
EN

Stack Overflow用户

发布于 2012-05-18 16:34:04

这对我很有效:

代码语言:javascript
复制
procedure TformStart.Proc;
var
endtxtpos: integer;
begin
  endtxtpos := Length(REMain.Text);
  REMain.Lines.Add('something');
  REMain.SelStart := endtxtpos-(REMain.Lines.Count-1);
  REMain.SelLength := Length('something');
  REMain.SelAttributes.Style := [fsBold];
end;

但由于我不知道更好的方法,请批评并建议我如何做得更好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10645033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档