Golden Blonde 发表于 2022-4-22 20:25:12

【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 *****

0xAA55 发表于 2022-4-24 09:31:51

这种解决方式还真是直接啊!

系统消息 发表于 2022-4-24 10:27:16

弹右键菜单请用 WM_CONTEXTMENU 消息,而非 WM_RBUTTONUP 消息。

xiawan 发表于 2022-5-17 16:30:52

珍惜生命,果断回帖。

Badfellow 发表于 2022-7-24 11:38:26

多年没碰代码了,测试下先

Mat 发表于 2023-3-25 20:48:58

Good Job!!!
页: [1]
查看完整版本: 【C】《史上最“屌”的纯WINAPI界面编程学习笔记》补充2