想自己做一个类似于OnChange的事件(如在改变ItemIndex时触发的事件),请教如何实现?(50分)

  • 主题发起人 主题发起人 peterzhou20
  • 开始时间 开始时间
P

peterzhou20

Unregistered / Unconfirmed
GUEST, unregistred user!
property OnChange: TNotifyEvent read FOnChange write FOnChange;

TNotifyEvent = procedure(Sender: TObject) of object;

我想给自己的控件写一个事件,当TListItem类型的类在改变了ItemIndex时就触发事件,就象OnChange事件一样。

请高手不指点。
 
你不是基本会了吗,想问什么?
只要在你需要触发事件的时候加上if Assigned(FOnChange) then FOnChange(Self);就行了。
 
你可以最近定义事件过程:
Type TYourEvent = procedure(Sender: TObject;你需要传输的参数) of object;
FOnYourChange :TYourEvent;
property OnYourChange: TYourEvent read FOnYourChange write FOnYourChange;
最后在你需要触发事件的时候加上if Assigned(FOnYourChange) then FOnYourChange(Self;你需要传输的参数);就行了。


 
private
FOnYourSelfChange: TNotifyEvent;

protected
...........
procedure Change;override;
..........
property OnYourSelfChange: TNotifyEvent
read FOnYourSelfChange write FOnYourSelfOnChange;

procedure TYourCustomCombo.Change;
begin
inherited Change;
if assigned(FOnYourSelfChange) then FOnYourSelfChange(Self);
end;


 

Similar threads

后退
顶部