【C】《史上最“屌”的纯WINAPI界面编程学习笔记》补充2
七年前,A5教我用WIN32API写界面,于是有了这个帖子:https://www.0xaa55.com/thread-1421-1-1.html五年前,我解决了一些关于创建窗口的问题,于是有了这个帖子:https://www.0xaa55.com/thread-2094-1-1.html
现在,我在解决一个奇怪的需求:在TAB上点击右键时,切换选项卡并弹出右键菜单。
一开始我想在窗口的消息循环里处理WM_NOTIFY,写出了如下代码: ...
else if(((LPNMHDR)lp)->code==NM_RCLICK)//右键单击
{
mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);
PopupMenu(hLvMenu);
}
...但我发现如果这么做,这两个功能就只能实现其一(只有弹出菜单可以工作)。真正的解决方案是需要在控件自身的消息循环里处理WM_RBUTTONDOWN和WM_RBUTTONUP。**** Hidden Message ***** 这种解决方式还真是直接啊! 弹右键菜单请用 WM_CONTEXTMENU 消息,而非 WM_RBUTTONUP 消息。 珍惜生命,果断回帖。 多年没碰代码了,测试下先 Good Job!!! dddddddddddddddddddddddddddddd 21111111111111111111111111111111111
页:
[1]