Codegear C++ Builder で、TMemo VCL クラスを拡張して、OnKeyDown イベント中にいくつかの機能を実行しようとしています。コントロールを設定し、フォームなどに追加できるようになりました。問題は、OnKeyDown イベント (またはその他のイベント) をキャプチャできないことです。
これが私のクラスです:
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 クラスから派生したクラスをどのように設定して、特定のイベントが発生したときにカスタム関数を実行するかということだと思います。