怎样设置richedit字体的颜色?

chenxidu 2008-02-16 05:14:00
怎样设置richedit字体的颜色?

像QQ那样,输入一行之后就改变这一行的颜色,谢谢
...全文
194 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lixinag 2008-03-04
  • 打赏
  • 举报
回复
不知道你的问题解决了没有,我的思路是这样的,当然你可以捕获换行时的情况
用if 判断输入的字符是否为换行,然后如上设置颜色
Lixinag 2008-02-22
  • 打赏
  • 举报
回复
//---------------------------------------------------------------------------
    AnsiString TempName;

    RichEdit1->Clear();
    TempName = "资料";
RichEdit1->SelStart = rchReport->GetTextLen();
RichEdit1->SelLength = TempName.Length();
RichEdit1->SelAttributes->Size = 15;
RichEdit1->SelAttributes->Color = clBlack;
RichEdit1->SelAttributes->Style << fsBold << fsItalic;
RichEdit1->SelAttributes->Name = "黑体";
RichEdit1->Paragraph->Numbering = nsNone;
RichEdit1->Paragraph->Alignment = taCenter;
RichEdit1->Lines->Add(TempName);
RichEdit1->Paragraph->Alignment = taLeftJustify;

//输入下一行,进行设置
     TempName = "\t" + "输入的内容";
RichEdit1->SelStart = rchReport->GetTextLen();
RichEdit1->SelLength = TempName.Length();
RichEdit1->SelAttributes->Size = 9;
RichEdit1->SelAttributes->Name = "宋体";
RichEdit1->SelAttributes->Color = clRed;
RichEdit1->Lines->Add(TempName);
//---------------------------------------------------------------------------

你看你还有什么问题不明白的,关键是用ADD方法
ydlchina 2008-02-17
  • 打赏
  • 举报
回复
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int x1,y1,x,y;
x1 = RichEdit1->SelStart;
y1 = RichEdit1->SelLength;
y = SendMessage(RichEdit1->Handle, EM_EXLINEFROMCHAR, 0,RichEdit1->SelStart);
x = (RichEdit1->SelStart - SendMessage(RichEdit1->Handle, EM_LINEINDEX,y, 0));
RichEdit1->SelStart =x1-x;
RichEdit1->SelLength =(RichEdit1->Lines[y].Text.Length() );
RichEdit1->SelAttributes->Size =20;
RichEdit1->SelAttributes->Color =clRed;
RichEdit1->SelAttributes->Name ="宋体";
RichEdit1->SelStart =x1;
RichEdit1->SelLength =y1;
RichEdit1->HideSelection =false;
}

604

社区成员

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

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