比如我现在要捕获窗体下面的一个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的一些操作?
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Button1->WindowProc = buttonWndProc;
}
void __fastcall TForm1::buttonWndProc(Messages::TMessage &Message)
{
//这里进行处理
............
TForm::WndProc(Message);//这里应该是要给Button1的父类TButton::WndProc(Message)处理,不过这样的话程序会报错,不知道是何种原因,怎么解决
}
当时这样最终不行,请问如何捕获对该button的一些操作?
解决方案 »
- 联接ACCESS数据库的问题
- 窗体焦点的问题
- 關於把MEMO中的記錄添加在txt文檔中的問題,在綫等!
- 救命呀﹐我想这是一个很简单的问题﹐真的~~100分不够还可以加﹐在线苦等
- 请问这句是什么意思?select * from sales..table1 ?
- 请问怎么用递归的方法实现Treeview节点的添加?
- 我用Group by rq 可以对日期字段分组!但我是想对rq中的年月进行分组,请问怎么做呢?
- 请问怎么建立程序与文件之间的关联?
- 为何出现"Undelcared identifier:'ShellExecute' "??
- 局域网共享问题,大家帮忙呀!谢谢!!!
- 傻问:exe文件可以存到数据库吗?blob型字段是不是可以存任何类型数据?非常感激.........
- 请教用一个Function得到表的逻辑(中文)字段名
//原来Button1->WindowProc是指向一个消息处理过程的,你现在给赋予了新值。
//那原来的消息过程就找不到啦。
//我想可以这样。void __fastcall TForm1::FormCreate(TObject *Sender)
{
OldWinProc=Button1->WindowProc;
Button1->WindowProc = buttonWndProc;
}
void __fastcall TForm1::buttonWndProc(Messages::TMessage &Message)
{
//这里进行处理
............
OldWinProc(Message);
}
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;
}