就是我想在程序中使光标所在的文本框标一个颜色,当光标一走的时候又回到原来的颜色
可以截获WM_SETFOCUS、WM_KILLFOCUS消息:
type
TForm1 = class(TForm)
Memo1: Edit;
private
procedure WMSetFocus(var Msg: TMessage); message WM_SETFOCUS;
procedure WMKillFocus(var Msg: TMessage); message WM_KILLFOCUS;
public
{ Public declarations }
end;
procedure TForm1.WMSetFocus(var Msg: TMessage);
begin
if TObject(Msg.LParam) = Memo1 then
Memo1.Color := clRed;
end;
procedure TForm1.WMKillFocus(var Msg: TMessage);
begin
if TObject(Msg.LParam) = Memo1 then
Memo1.Color := clWhite;
end;
响应Edit的两个事件:onMouseEnter和onMouseLeave。
在前一个事件中设置颜色,在后一个事件中改回原来的颜色。
procedure
TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
edit1.Color:=clred;
end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
edit1.Color:=clWindow;
end;
那你在onenter和onexit事件里去写代码
本文介绍如何在程序中通过截获WM_SETFOCUS和WM_KILLFOCUS消息来动态改变光标所在文本框的颜色,以及使用onMouseEnter和onMouseLeave事件实现相同效果。同时提供代码示例。

被折叠的 条评论
为什么被折叠?



