如何控制richedit的行距和设置字体 如何控制richedit的行距和字体,好像很复杂。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好像网上有类似控件,你可以到google上搜索一下 以下代码将richedit1的第二至第六个字颜色变成红色。procedure TForm1.Button1Click(Sender: TObject);beginrichedit1.SelStart:=1;richedit1.SelLength:=5;richedit1.SelAttributes.Color:=clred;end; 用RichEdit(或者memo)控件制作文本编辑器时,通过访问linescount属性可以得到总行数,但是若想知道光标当前所在行的行号就麻烦了,因为delphi没有提供这个属性。要实现这个编辑器必备功能,就须调用em_ LineFromChar。请试试下面的程序。 先在窗口中布置一个RichEdit或者memo(命名为editor),以及一个button。在button的onclick事件中写入下列代码。 var CurrentLine:Integer; begin CurrentLine:=EditorPerform(em_ LineFromChar,SFFFF,0); ApplicationMessageBox(PChar(′当前行号是′+IntToStr(CurrentLine)),′消息′,mb_ iconinformation); end; 需要注意的是,第一行的行号为零 uses RichEdit;procedure RichEditLineSpacing( //设置编辑框的行距 mRichEdit: TRichEdit; //Rich编辑框 mLineSpacingRule: Byte //行距 0~2);var vParaFormat2: ParaFormat2;begin if not Assigned(mRichEdit) then Exit; FillChar(vParaFormat2, SizeOf(vParaFormat2), 0); vParaFormat2.cbSize := SizeOf(ParaFormat2); vParaFormat2.dwMask := PFM_LINESPACING; vParaFormat2.bLineSpacingRule := mLineSpacingRule; vParaFormat2.dyLineSpacing := Ord(True); mRichEdit.Perform(EM_SETPARAFORMAT, 0, Longint(@vParaFormat2));end;procedure TForm1.Button1Click(Sender: TObject);begin RichEdit1.SelectAll; RichEditLineSpacing(RichEdit1, 0);end;procedure TForm1.Button2Click(Sender: TObject);begin RichEdit1.SelectAll; RichEditLineSpacing(RichEdit1, 1);end;procedure TForm1.Button3Click(Sender: TObject);begin RichEdit1.SelectAll; RichEditLineSpacing(RichEdit1, 2);end; 为了某人的PP 高分求解[如何在StringGrid中加上行字段和列行号] 最好加上实例代码 为什么不能在MOUSEDOWN事件中创建组件 哪个有记录键盘的delphi源码? 如何获取打印机所支持的打印尺寸 reportbuilder中动态报表的问题!!!(立即给分!!) ...调查,你用什么工具开发B/S应用?你对该工具的评价如何 如何获得文本文件的行数,假如不通过循环来做 如何让dbgrid固定不会移动的几列 安了三次FlatStyle控件,但是每次都总是说DsgnIntf.dcu找不到呢? 关于edit的问题 怎么知道消息是哪个进程发给我的?
procedure TForm1.Button1Click(Sender: TObject);
begin
richedit1.SelStart:=1;
richedit1.SelLength:=5;
richedit1.SelAttributes.Color:=clred;
end;
先在窗口中布置一个RichEdit或者memo(命名为editor),以及一个button。在button的onclick事件中写入下列代码。
var
CurrentLine:Integer;
begin
CurrentLine:=EditorPerform(em_ LineFromChar,SFFFF,0);
ApplicationMessageBox(PChar(′当前行号是′+IntToStr(CurrentLine)),′消息′,mb_ iconinformation);
end;
需要注意的是,第一行的行号为零
mRichEdit: TRichEdit; //Rich编辑框
mLineSpacingRule: Byte //行距 0~2
);
var
vParaFormat2: ParaFormat2;
begin
if not Assigned(mRichEdit) then Exit;
FillChar(vParaFormat2, SizeOf(vParaFormat2), 0);
vParaFormat2.cbSize := SizeOf(ParaFormat2);
vParaFormat2.dwMask := PFM_LINESPACING;
vParaFormat2.bLineSpacingRule := mLineSpacingRule;
vParaFormat2.dyLineSpacing := Ord(True);
mRichEdit.Perform(EM_SETPARAFORMAT, 0, Longint(@vParaFormat2));
end;procedure TForm1.Button1Click(Sender: TObject);
begin
RichEdit1.SelectAll;
RichEditLineSpacing(RichEdit1, 0);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
RichEdit1.SelectAll;
RichEditLineSpacing(RichEdit1, 1);
end;procedure TForm1.Button3Click(Sender: TObject);
begin
RichEdit1.SelectAll;
RichEditLineSpacing(RichEdit1, 2);
end;