首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

MFC 窗口有关问题

2012-11-16 
MFC 窗口问题对于界面上的诸多按钮,希望多个在被点击时由同一个过程来处理点击事件,由此想到了自定义 Wind

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 就表示按钮被点击了

热点排行