在Codegear C++ Builder中,我試圖擴展TMemo VCL類以在OnKeyDown事件期間執行某些功能。我已經建立了控制並能夠將它添加到表單等等。問題是我無法捕獲OnKeyDown事件(或任何其他事件,就此而言)。覆蓋C++ Builder中的事件處理程序
這裏是我的類:
class PACKAGE TREMemoFind : public TMemo
{
private:
TFindDialog *FindDialog;
protected:
void __fastcall MemoKeyDown(TObject *Sender, WORD &Key, TShiftState Shift);
public:
__fastcall TREMemoFind(TComponent* Owner);
__published:
};
__fastcall TREMemoFind::TREMemoFind(TComponent* Owner) : TMemo(Owner)
{
ScrollBars = ssVertical;
OnKeyDown = MemoKeyDown;
}
void __fastcall TREMemoFind::MemoKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{
ShowMessage("It worked!");
}
所以,我想我的問題是:我怎麼設置,我從VCL類派生執行自定義功能,當某一事件觸發類?
沒關係。顯然,我做的是正確的事情。儘管反覆重新編譯,Codegear並沒有將我的更新整合到我的測試控件中。無論如何,它現在起作用。 採取這個職位的適當步驟是什麼?我應該投票刪除嗎? – 2010-07-13 18:34:13