怎么样捕获窗体下面的控件的一些消息?
比如我现在要捕获窗体下面的一个button的一些消息,我在
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Button1->WindowProc = buttonWndProc;
}
void __fastcall TForm1::buttonWndProc(Messages::TMessage &Message)
{
//这里进行处理
............
TForm::WndProc(Message);//这里应该是要给Button1的父类TButton::WndProc(Message)处理,不过这样的话程序会报错,不知道是何种原因,怎么解决
}
当时这样最终不行,请问如何捕获对该button的一些操作?
问题点数:20、回复次数:3Top
1 楼lili1(离奇)回复于 2005-06-02 21:04:28 得分 20
//Button1->WindowProc = buttonWndProc;
//原来Button1->WindowProc是指向一个消息处理过程的,你现在给赋予了新值。
//那原来的消息过程就找不到啦。
//我想可以这样。
void __fastcall TForm1::FormCreate(TObject *Sender)
{
OldWinProc=Button1->WindowProc;
Button1->WindowProc = buttonWndProc;
}
void __fastcall TForm1::buttonWndProc(Messages::TMessage &Message)
{
//这里进行处理
............
OldWinProc(Message);
}
Top
2 楼yanhawk(yanhawk)回复于 2005-06-03 12:18:04 得分 0
主要的话定义OldWinProc
void __fastcall TForm1::OldWinProc(Messages::TMessage &Message)
{
TForm1::WndProc(Message);
}
在
void __fastcall TForm1::FormCreate(TObject *Sender)
{
OldWinProc = Button1->WindowProc;//这里会报Member function be called or its address taken错误
Button1->WindowProc = butttonProc;
}
Top
3 楼MrHorse(随便)回复于 2005-06-03 12:58:24 得分 0
有控件。TAppilicationEventsTop




