求救:关于如何继承退出事件!(控件开发)
老板要求封装一个带自动去空格的属性控件,该属性可以设置True False.[简单]
如果为True的时候,要求退出的时候把空格去掉!
也就是要继承退出事件,我用来判断这个属性,True去空格,False不去
找不到继承的那个方法!
那个大哥知道的讲下!
谢谢
[解决办法]
继承Destroy
TXXX=class
public
destructor Destroy;override;
end;
...
destructor TXXX.Destroy;
begin
if 属性 then
begin
//去掉空格
end;
inherited;
end;
[解决办法]
放在Destructor中啊?不是吧?你的控件是动态创建和销毁的吗?如果不是,就不正确了!
退出事件是哪个?OnExit吗?可以放在OnExit中看看!
[解决办法]
测试一下:
TMyEdit = class(TEdit)
private
FClear : Boolean;
procedure WMKillFocus ( var Msg : TWMKILLFOCUS ); message WM_KILLFOCUS;
public
constructor Create ( AOwner : TComponent );
destructor Destroy; override;
procedure SetClearFlag;
end;
......
{ TMyEdit }
constructor TMyEdit.Create(AOwner: TComponent);
begin
FClear := false;
inherited Create ( AOwner );
end;
destructor TMyEdit.Destroy;
begin
inherited;
end;
procedure TMyEdit.SetClearFlag;
begin
FClear := true;
end;
procedure TMyEdit.WMKillFocus(var Msg: TWMKILLFOCUS );
begin
if FClear then
Text := Text + ' test ';
end;