vc中怎么使用SendMessage自定义消息函数

2024-12-29 04:33:50
推荐回答(1个)
回答1:

SendMessage的基本结构如下: SendMessage(HWNDhWnd, //消息传递的目标窗口或线程的句柄。UINTMsg, //消息类别(这里可以是一些系统消息,也可以是自己定义,下文具体介绍,)WPARAMwParam, //参数1 (WPARAM 其实是与UINT是同种类型的, //在vc编译器中右键有个“转到WPARAM的定义”的选项可以查看。LPARAMlParam); //参数2 其中一些参数的由来如下: //typedef unsigned int UINT; //typedef UINT WPARAM; //typedef LONG LPARAM; //typedef LONG LRESULT; 例如可以用以下语句: ::SendMessage(this-m_hWnd, WM_MY_DOSOME, (WPARAM) 0, (LPARAM)0); 这里我发送的消息是本窗体接收的,所以句柄用:this-m_hWnd 这里的消息类别WM_MY_DOSOME就是我自定义的, 在接收消息的窗体或线程所在的头文件里: #define WM_MY_DOSOMEWM_USER+1//do something 当然你还可以定义更多如: