控件得到焦点时背景色为红色,失去焦点时背景色还原为CLWINDOW(10分)

  • 主题发起人 主题发起人 milesmaqi
  • 开始时间 开始时间
M

milesmaqi

Unregistered / Unconfirmed
GUEST, unregistred user!
假设现在有EDI控件多个,控件得到焦点时背景色为红色,
失去焦点时背景色还原为CLWINDOW
用来突出焦点所在位置。
 
将所有的TEdit的OnEnter事件都指向同一处代码
procedure TForm1.Edit1Enter(Sender: TObject);
begin
(Sender as TEdit).Color:=clRed;
end;
同理,所有TEdit的OnExit
procedure TForm1.Edit1Exit(Sender: TObject);
begin
(Sender as TEdit).Color:=clWhite;
end;
 
在edit的onenter事件中
if (sender is tedit) then
if (sender as tedit).focused then
(sender as tedit).color:=clred
else
(sender as tedit).color:=clwindow;
 
修改OnEnter和OnExist事件就行了
 
如果是控件,请截获WM_SetFocus和WM_KillFocus消息。
 

Similar threads

回复
0
查看
804
不得闲
D
回复
0
查看
835
DelphiTeacher的专栏
D
D
回复
0
查看
880
DelphiTeacher的专栏
D
D
回复
0
查看
617
DelphiTeacher的专栏
D
后退
顶部