原創(chuàng)|其它|編輯:郝浩|2012-11-28 11:44:21.000|閱讀 508 次
概述:如果事件處理程序不屬于基類的話,如何定義一個(gè)新的事件處理程序呢?本文中就以“TfrxEditControl”常用控件為例來(lái)看看如何定義一個(gè)新的事件處理程序。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷售中 >>
相關(guān)鏈接:
如果事件處理程序不屬于基類的話,如何定義一個(gè)新的事件處理程序呢?本文中就以“TfrxEditControl”常用控件為例來(lái)看看如何定義一個(gè)新的事件處理程序。
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報(bào)表中的事件處理程序是一個(gè)定義在報(bào)表腳本中的程序。TfrxNotifyEvent類型被聲明為String[63],在FastReport VCL中,鏈接事件處理程序的是一個(gè)包含名稱的字符串。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn