在Java中很容易做到,在Delphi中找了很多属性和函数都不行(可能英语水平太差)
当鼠标选择某一段文本的时候,选择条颜色改变并且选择到的文字的颜色也改变。
当鼠标选择某一段文本的时候,选择条颜色改变并且选择到的文字的颜色也改变。
解决方案 »
- 如何让TWebBrowser释放焦点﹖
- 急~~~~SQL语句.....各位帮帮忙~~~
- 面向对象的数据库开发?
- 高手请教:调用OUTLOOKAPPLICATION时候,“没有注册类别”,如何是好?下面是偶的程序段 (偶的分数不多啊)
- 我要建立一个字段,里面既可以存放大量的文字,也可以存入图片,请问字段该用什么类型???
- 【散分】好久没来了,狂散【散分】
- delphi中停止闪烁语句的是什么,像pb中的setredraw是什么啊,谢谢
- xpmenu安装完后不知道怎么用,找了好久没找到答案,就来问了,请帮忙
- 请问怎样自动生成课程表。
- 新手上路可以看李维的书吗?请大家谈谈自己的看法!
- 如何避免onexit事件重复触发?
- delphi 操作 excel 文件 问题(急)
http://hi.csdn.net/attachment/201007/21/756293_1279680775duED.png
uses
richedit;procedure TForm1.Button1Click(Sender: TObject);
var Fmt :TCharFormat2;
begin
Fmt.cbSize := SizeOf(Fmt);
Fmt.dwMask := CFM_COLOR or CFM_BACKCOLOR Fmt.crTextColor := clRed;//设置字体颜色
Fmt.crBackColor := clYellow;
RichEdit1.Perform(EM_SETCHARFORMAT,SCF_SELECTION,integer(@Fmt));
RichEdit1.Lines.Add('中华人民共和国');
end;
谢谢你回复,但不是这效果,首先字不是加的,是用户随便打的,然后选择一部分文字,就会出现选择条,要改变选择条的颜色。
windows记事本下的选择条颜色是蓝色,而选择文本的颜色是白色。
Delphi下TRichEdit下默认选择条颜色是黑色(真丑),选择文本的颜色是白色。
RichEdit1SelectionChange事件 当我输入一个字符就触发该事件,还说我不动脑子。
procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
ShowMessage('a');
end;
自己去试试吧。这个效果不能在SelectionChange函数里实现。如果行的话我就不会跑这来问了。
好了,好了,和谐第一,没事就别怄气了,你提供的方法我会参考的。也感谢你,procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
if RichEdit1.HideSelection Then
ShowMessage('a');
end;
这样也不行。
Shift: TShiftState; X, Y: Integer);
begin
Fmt.crTextColor := clBlack;//设置字体颜色
Fmt.crBackColor := clWhite;//设置字体背景色
RichEdit1.Perform(EM_SETCHARFORMAT,SCF_ALL,integer(@Fmt));
Label1.Caption := 'x:'+IntToStr(RichEdit1.SelStart)+',y:'+IntToStr(RichEdit1.SelLength);
Fmt.crTextColor := clRed;//设置字体颜色
Fmt.crBackColor := clYellow;//设置字体背景色
RichEdit1.Perform(EM_SETCHARFORMAT,SCF_SELECTION,integer(@Fmt));
RichEdit1.SelLength := 0;
end;
TCharFormat2 或 TCharFormat 在D7里不认啊