如何向TRichEdit中插入一行格式文本?

zeroliu 2001-10-29 09:56:51

我想用richedit作为结果的显示界面,因此需要在程序中向richedit插入格式文本,包含字体、字号、黑体/斜体/下划线、颜色等信息。如:This is a test.其中test是斜体。

应该如何实现?

TRichEdit控件只有DefAttributes属性和SelAttributes属性,好象不能定义任意的文本的属性。

谢谢!
...全文
166 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
有哥 2002-01-03
  • 打赏
  • 举报
回复
选中?!SelStart、SelLength不就行啦
「已注销」 2001-12-27
  • 打赏
  • 举报
回复
cool222(天下第一笨) 回答得太精彩了

贴主应该好好酬谢这位兄台哦

@_@
有哥 2001-12-27
  • 打赏
  • 举报
回复
//斜体按钮
void __fastcall TForm1::ToolButton6Click(TObject *Sender)
{
if(!ToolButton6->Down)
RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style >> fsItalic ;
else
RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style << fsItalic ;

}
//---------------------------------------------------------------------------
//下划线按钮
void __fastcall TForm1::ToolButton7Click(TObject *Sender)
{
if(!ToolButton7->Down)
RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style >> fsUnderline ;
else
RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style << fsUnderline ;
}
//---------------------------------------------------------------------------
//删除线按钮
void __fastcall TForm1::ToolButton8Click(TObject *Sender)
{

if(!ToolButton8->Down)
RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style >> fsStrikeOut ;
else
RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style << fsStrikeOut ;
}
//---------------------------------------------------------------------------
//字号选择框
void __fastcall TForm1::ComboBox5Click(TObject *Sender)
{
RichEdit1->SelAttributes->Size=ComboBox5->Text.ToInt();
}
//---------------------------------------------------------------------------
//字体选择框
void __fastcall TForm1::ComboBox4Change(TObject *Sender)
{
RichEdit1->SelAttributes->Name = ComboBox4->Text;
}
//-----------------------------------------------------------------------------
//颜色
void __fastcall TForm1::ToolButton18Click(TObject *Sender)
{
if (RichEdit1->SelAttributes->Color==clBlue)
RichEdit1->SelAttributes->Color = clRed;

else
RichEdit1->SelAttributes->Color = clBlue;

}
//---------------------------------------------------------------------------
//粗体
void __fastcall TForm1::ToolButton5Click(TObject *Sender)
{
if(!ToolButton5->Down)
RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style >> fsBold ;
else
RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style << fsBold ;
}

可以了吧,给分
有哥 2001-12-27
  • 打赏
  • 举报
回复
//斜体按钮单击事件
void __fastcall TForm1::ToolButton6Click(TObject *Sender)
{
if(!ToolButton6->Down)
RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style >> fsItalic ;
else
RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style << fsItalic ;
}
看一看Style的帮助,你就会明白了
Richardw 2001-12-27
  • 打赏
  • 举报
回复
Sorry.我不大明白.
帖主好像说This is a test.是一个整体的.
如何分别选中呢?
zeroliu 2001-10-30
  • 打赏
  • 举报
回复
继续
zeroliu 2001-10-30
  • 打赏
  • 举报
回复
没有人会?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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