读书人

MFC 窗口有关问题

发布时间: 2012-11-16 14:12:15 作者: rapoo

MFC 窗口问题
对于界面上的诸多按钮,希望多个在被点击时由同一个过程来处理点击事件,由此想到了自定义 WindowProc。在这个自定义过程中希望能够捕获当前被点击的按钮的文字内容(这些都是数字,比如:计算器就是这样的),我们知道 WindowProc 的原型是这样的:

LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);

能否通过这里的参数 hwnd 来获取当前被点击的按钮本身??

[解决办法]
LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
WM_COMMAND, // the message to send
WPARAM wParam, // notification code and identifier
LPARAM lParam // handle to control (HWND)
);

所有的按钮点击消息都是WM_COMMAND,wParam的低字表示ID,你可以LOWORD(wParam),然后和你设定的ID比较就可以了,点击按钮时,wParam的高字表示notification ,HIWORD(wParam)=BN_CLICKED 就表示按钮被点击了

读书人网 >VC/MFC

热点推荐