c++builder 重载WindowProc、WndProc 截获消息(比Delphi多一个Message Map方法)
来源:互联网 发布:淘宝首页导航栏尺寸 编辑:程序博客网 时间:2024/05/17 06:17
c++builder 重载WindowProc、WndProc 截获消息
方法一WindowProc
void __fastcall myWindowProc(Messages::TMessage &msg); //增加
Classes::TWndMethod OldWindowProc; //增加
void __fastcall TForm1::myWindowProc(Messages::TMessage &msg)
{
if (msg.Msg == WM_MOUSEWHEEL)
{
//::MessageBox(NULL,"OK","Message",0); //测试
Caption = Now();
}
else
OldWindowProc(Message);
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
OldWindowProc=Edit1->WindowProc;
Edit1->WindowProc=myWindowProc;
}
方法二 MESSAGE_MAP
class TForm1 : public TForm
{
__published: // IDE-managed Components
TEdit *Edit1;
private: // User declarations
void __fastcall OnEditMouseWell(TMessage &msg);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_MOUSEWHEEL, TMessage, OnEditMouseWell)
END_MESSAGE_MAP(TForm) //TForm 换成TEdit
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
void __fastcall TForm1::OnEditMouseWell(TMessage &msg)
{
if(String(ActiveControl->ClassName())=="TEdit") //所有的Edit
Caption = Now(); //测试
//TForm::Dispatch(&Msg);
}
方法三 重载 WndProc
private: // User declarations
void __fastcall WndProc(Messages::TMessage &msg);
void __fastcall TForm1::WndProc(Messages::TMessage &msg)
{
if (msgMsg == WM_MOUSEWHEEL && msg.WParam )
{
Caption = Now();
}
TForm::WndProc(msg);
}
四、ApplicationEvents控件
窗体上放置ApplicationEvents1控件,在ApplicationEvents1Message事件里判断。
void __fastcall TForm3::ApplicationEvents1Message(tagMSG &Msg, bool &Handled){ if (Msg.hwnd == this->DBGrid1->Handle && Msg.message == WM_MOUSEWHEEL) this->Caption = Now();}
- c++builder 重载WindowProc、WndProc 截获消息(比Delphi多一个Message Map方法)
- 重载WindowProc、WndProc
- WndProc(ref Message m)方法
- mainwndproc 、 windowproc与wndproc
- Delphi消息截获
- vs2010,重载windowProc,编写控件消息响应函数
- delphi的消息处理机制TWinControl.WndProc
- 有用的WndProc(ref Message m)方法
- 重载WndProc
- 重载WndProc
- Message Map 消息映射(转)
- 重写WndProc方法来处理 Windows 消息
- 截获消息(1)
- 截获消息(2)
- ◇[DELPHI]截获WM_QUERYENDSESSION关机消息
- C++ builder 控件消息重载
- 重载WindowProc函数,是覆写
- WndProc(ref Message m)
- Secondary NameNode的作用
- Java I/O流总结与巩固
- ~搭建JEESZ分布式架构6--ZooKeeper 集群的安装
- leetcode_96. Unique Binary Search Trees
- 利用DPCM&Huffman编码实现数据压缩_C语言实现
- c++builder 重载WindowProc、WndProc 截获消息(比Delphi多一个Message Map方法)
- 虚析构函数的重要性
- iOS QQ第三方登录
- 简述OpenSessionInview的作用。
- 《Android开发艺术探索——Android的消息机制》
- (c#) 关于本地网络的IP地址的一些事
- 【云栖TechDay有问必答】NLP技术的应用及思考
- 2.空间数据
- tcpdump使用