找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 1677|回复: 5

【C】《史上最“屌”的纯WINAPI界面编程学习笔记》补充2

[复制链接]

55

主题

271

回帖

9330

积分

用户组: 管理员

UID
77
精华
16
威望
237 点
宅币
8199 个
贡献
251 次
宅之契约
0 份
在线时间
253 小时
注册时间
2014-2-22
发表于 2022-4-22 20:25:12 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
七年前,A5教我用WIN32API写界面,于是有了这个帖子:https://www.0xaa55.com/thread-1421-1-1.html
五年前,我解决了一些关于创建窗口的问题,于是有了这个帖子:https://www.0xaa55.com/thread-2094-1-1.html
现在,我在解决一个奇怪的需求:在TAB上点击右键时,切换选项卡并弹出右键菜单。
一开始我想在窗口的消息循环里处理WM_NOTIFY,写出了如下代码:
  1.         ...
  2.         else if(((LPNMHDR)lp)->code==NM_RCLICK)//右键单击
  3.         {
  4.                 mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);
  5.                 PopupMenu(hLvMenu);
  6.         }
  7.         ...
复制代码
但我发现如果这么做,这两个功能就只能实现其一(只有弹出菜单可以工作)。真正的解决方案是需要在控件自身的消息循环里处理WM_RBUTTONDOWN和WM_RBUTTONUP。
游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

1109

主题

1649

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24180 个
贡献
46222 次
宅之契约
0 份
在线时间
2294 小时
注册时间
2014-1-26
发表于 2022-4-24 09:31:51 | 显示全部楼层
这种解决方式还真是直接啊!
回复 赞! 靠!

使用道具 举报

9

主题

172

回帖

1万

积分

用户组: 真·技术宅

UID
4293
精华
6
威望
441 点
宅币
8636 个
贡献
850 次
宅之契约
0 份
在线时间
335 小时
注册时间
2018-9-19
发表于 2022-4-24 10:27:16 | 显示全部楼层
弹右键菜单请用 WM_CONTEXTMENU 消息,而非 WM_RBUTTONUP 消息。
回复 赞! 靠!

使用道具 举报

1

主题

157

回帖

605

积分

用户组: 大·技术宅

UID
7535
精华
0
威望
0 点
宅币
447 个
贡献
0 次
宅之契约
0 份
在线时间
68 小时
注册时间
2021-10-16
发表于 2022-5-17 16:30:52 | 显示全部楼层
珍惜生命,果断回帖。
回复 赞! 靠!

使用道具 举报

0

主题

2

回帖

15

积分

用户组: 初·技术宅

UID
7987
精华
0
威望
2 点
宅币
9 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2022-7-24
发表于 2022-7-24 11:38:26 | 显示全部楼层
多年没碰代码了,测试下先
回复 赞! 靠!

使用道具 举报

3

主题

20

回帖

156

积分

用户组: 中·技术宅

UID
8271
精华
0
威望
2 点
宅币
347 个
贡献
0 次
宅之契约
0 份
在线时间
55 小时
注册时间
2023-3-25
发表于 2023-3-25 20:48:58 | 显示全部楼层
Good Job!!!
回复

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-3-29 15:54 , Processed in 0.040574 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表