就是我想在程序中使光标所在的文本框标一个颜色,当光标一走的时候又回到原来的颜色
可以截获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事件里去写代码