在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