原創|其它|編輯:郝浩|2012-11-28 11:44:21.000|閱讀 508 次
概述:如果事件處理程序不屬于基類的話,如何定義一個新的事件處理程序呢?本文中就以“TfrxEditControl”常用控件為例來看看如何定義一個新的事件處理程序。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
如果事件處理程序不屬于基類的話,如何定義一個新的事件處理程序呢?本文中就以“TfrxEditControl”常用控件為例來看看如何定義一個新的事件處理程序。
TfrxEditControl = class(TfrxDialogControl) private FEdit: TEdit; { new event } FOnChange: TfrxNotifyEvent; procedure DoOnChange(Sender: TObject); ... public constructor Create(AOwner: TComponent); override; ... published { new event } property OnChange: TfrxNotifyEvent read FOnChange write FOnChange; ... end; constructor TfrxEditControl.Create(AOwner: TComponent); begin ... { connect our handler } FEdit.OnChange := DoOnChange; InitControl(FEdit); ... end; procedure TfrxEditControl.DoOnChange(Sender: TObject); begin { call event handler } if Report <> nil then Report.DoNotifyEvent(Sender, FOnChange); end;
值得注意的是,FastReport VCL報表中的事件處理程序是一個定義在報表腳本中的程序。TfrxNotifyEvent類型被聲明為String[63],在FastReport VCL中,鏈接事件處理程序的是一個包含名稱的字符串。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn