继承Tedit的控件开发问题?(50分)

R

rev

Unregistered / Unconfirmed
GUEST, unregistred user!
当聚焦到edit时,使其的颜色color改变。我要制成控件,如何实现?
也可以继承Tcustomedit。
 
***这么简单。
private
FMouseEnter : TNotifyEvent;
procedure MyMouseEnter(参数去找); message wmMouseEnter
public
OnMouseEnter : TNotifyEvent read FMouseEnter write FMouseEnter;
end;
procedure TXXX.OnEnter(参数去抄一个)

end;

//下面是关键
procedrue TXXX.MyMouseEnter();
begin
OnMouseEnter(Self,其它参数去抄);
end;
需要抄的在VCL里都有
或直接看看TControl , TWinControl
 
procedure TWinControl.CMEnter(var Message: TCMEnter);
begin
if SysLocale.MiddleEast then
if UseRightToLeftReading then
begin
if Application.BiDiKeyboard <> '' then
LoadKeyboardLayout(PChar(Application.BiDiKeyboard), KLF_ACTIVATE);
end
else
if Application.NonBiDiKeyboard <> '' then
LoadKeyboardLayout(PChar(Application.NonBiDiKeyboard), KLF_ACTIVATE);
DoEnter;
end;
这是WinControl 的代码
不过你说的跟本用这着这么多
继承一个TEdit. 在OnEnter里写 Self.Font.Color := clRed;
在OnExit 里写Self.Font.Color := clBlack
够了!给钱。
 
能不能再详细些,我是新手!!
 
TMyEdit
private
procedure TMyEdit.WMSetFocus(message: ....); message WM_SetFocus;
procedure TMyEdit.WMSetFocus(message: ....); message WM_KillFocus;
...
end;
procedure TMyEdit.WMSetFocus(message: ....);
begin
Font.Color := clRed;
end;
procedure TMyEdit.WMKillFocus(message: ....);
begin
Font.Color := clBlack;
end;
 
顶部