richedit或MEMO中怎么样设置MEMO中选定字的颜色和字体呢?

ThreeYears 2003-10-09 04:14:57
richedit或MEMO中怎么样设置MEMO中选定字的颜色和字体呢?
...全文
100 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
47522341 2003-10-09
  • 打赏
  • 举报
回复
用richedit;先自定义函数如下:
function TMainForm.CurrText: TTextAttributes;
begin
if Editor.SelLength > 0 then Result := Editor.SelAttributes
else Result := Editor.DefAttributes;
end;

然后用某个事件触发对选中字体的颜色进行改变
procedure TForm1.button1click(sender: TObject);
begin
currtext.color := clred;
end;
hiflower 2003-10-09
  • 打赏
  • 举报
回复
SelAttributes 属性

Memo 不行
佣工7001 2003-10-09
  • 打赏
  • 举报
回复
Memo只有异种颜色,没这功能
crossbow 2003-10-09
  • 打赏
  • 举报
回复
第一行的背景色是“白色”
第二行的背景色是“蓝色”
第三行的背景色是“黄色”


int pos=0;
TFont *theFont = new TFont();
theFont->Color=clRed;
RichEdit1->SelStart=0;
RichEdit1->SelLength=RichEdit1->Lines->Strings[0].Length()+2;
RichEdit1->SelAttributes->Assign(theFont);
pos+= RichEdit1->SelLength;
theFont->Color=clGreen;
RichEdit1->SelStart=pos;
RichEdit1->SelLength=RichEdit1->Lines->Strings[1].Length()+2;
RichEdit1->SelAttributes->Assign(theFont);
pos+= RichEdit1->SelLength;
theFont->Color=clBlue;
RichEdit1->SelStart=pos;
RichEdit1->SelLength=RichEdit1->Lines->Strings[2].Length()+2;
RichEdit1->SelAttributes->Assign(theFont);
}
除可以改变颜色,还可以改变字体及大小等参数主要最pos(选取开始位置)的确定。
由于白色并不明显,故以上代码选取的颜色为:
第一行的背景色是“红色”
第二行的背景色是“绿色”
第三行的背景色是“蓝色”

以上程序中的字体变量theFont对于本例并没多大意义,你可以不使用字体变量,而直接对颜色赋值:RichEdit1->SelAttributes->Color = clRed;

C++Builder的,自己改一下。

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧