Delphi或BCB里有个TMemo控件,我就是用它来显示串行口数据包的,数据包分为两种,一种是上行数据,另一种是下行数据。(迫于领导“淫威”)现在要求实现如下功能:当接收到两种数据时,要求分别用两种颜色字体显示,如上行数据用红字,下行用黑字。
TMemo控件实现不了这个功能,小弟对VCL不是很熟练,不知道有没有什么办法可以实现,或者有这样的第三方控件也可以。
我想拦截API实现,感觉不值得,请问各位大哥有没有什么好方法?
TMemo控件实现不了这个功能,小弟对VCL不是很熟练,不知道有没有什么办法可以实现,或者有这样的第三方控件也可以。
我想拦截API实现,感觉不值得,请问各位大哥有没有什么好方法?
解决方案 »
- 关于HOOK的问题:HOOK中无法访问全局变量,如何解决?
- 我的可执行文件拷到其它电脑上却不能运行,请问是何原因
- 裝第三方控件時出現的問題
- 关于Shellexecute的一个简单的问题(在线等待)
- 急救: 急救: 请问 如何取得动态数组当前列 数或 行数
- 关于做类似于资源管理器的新建菜单的问题
- 怎么执行cmd命令的
- 一个外部调用的问题!
- 好久没来了,正在写一本书。。。(nicrosoft)
- SPCOMM中procedure ReceiveData(Sender: TObject; Buffer: Pointer;BufferLength: Word);
- 一个delphi菜鸟的问题:有关TBLOBfiled的控件在哪?
- 大家给我解决一个棘手的问题谢谢分不够在加谢谢在线等,解决完马上结贴
Memo是不能实现的
procedure TForm1.setLineColor(row:integer;C:TColor);
begin
RichEdit1.SelStart:=SendMessage(RichEdit1.Handle,EM_LINEINDEX,row-1,0);
RichEdit1.SelLength:=length(RichEdit1.Lines[row-1]);
RichEdit1.SelAttributes.Color:=C;
end;
其中row表示你要设置第几行,C表示你要设置的颜色
举个例子
你想将第二行设置为红色
则:
procedure TForm1.Button1Click(Sender: TObject);
begin
SetLineColor(2,clRed);
end;
这样就行啦,测试通过