MFC简介_java void main
JAVA 简介 main mfc void
2023-06-13 09:13:01 时间
版权声明:www.gudianxiaoshuo.com 原创文章版权 — 古典小说网
WM_CONTEXTMENU消息 用来响应鼠标右键消息, 它响应的不是鼠标右键按下消息,也不是鼠标右键弹起消息
而是鼠标右键 依次按下弹起后触发的消息。
因此,若程序还响应了鼠标右键按下的消息OnRButtonDown,且在此响应函数中有模特对话框出现的话,则不会响应WM_CONTEXTMENU消息。
比如,有AfxMessageBox(L”Right Down”); 模特对话框出现在右键按下响应函数中, 则关闭此模特对话框后,不在响应右键菜单消息。
原因在于:
右键菜单 是在右键依次按下弹起时才被触发的。
右键按下, 模特对话框产生时,消息只被发送到了模特对话框,因此,鼠标弹起消息未被发送到主窗口,因此,不会响应右键菜单消息。
但是,如果在右键弹起响应函数OnRButtonUp中响应模特对话框消息的话, 右键菜单消息 不会被影响。
原因是: 此时鼠标按下、弹起消息均已被发送到了主窗口,因此程序在关闭模特对话框后,仍会响应右键菜单消息。
[cpp] view plain copy print ?
- OnContextMenu(CWnd* pWnd, CPoint point)
- {
- CPoint pt=point;
- CMenu menu;
- CMenu* PopupMenu=NULL;
- ScreenToClient(&pt);
- //加载菜单
- menu.LoadMenu(IDR_IMAGEVIEW);
- //子菜单项
- //右键点击 弹出此子菜单项
- PopupMenu=menu.GetSubMenu(3);
- PopupMenu->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN,point.x,point.y,this);
- }
OnContextMenu(CWnd* pWnd, CPoint point)
{
CPoint pt=point;
CMenu menu;
CMenu* PopupMenu=NULL;
ScreenToClient(&pt);
//加载菜单
menu.LoadMenu(IDR_IMAGEVIEW);
//子菜单项
//右键点击 弹出此子菜单项
PopupMenu=menu.GetSubMenu(3);
PopupMenu->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN,point.x,point.y,this);
}
参考资料:
http://topic.csdn.net/t/20061114/18/5157800.html
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170377.html原文链接:https://javaforall.cn
相关文章
- 劲爆!Java 协程终于来了
- Java基础知识点笔记(一):java中的取整与四舍五入
- java输出结果保留两位小数,经典好文
- Java程序是如何运行的「建议收藏」
- java启动器_JAVA基础:Java 启动器如何查找类
- java 中高级面试题_Java中高级面试题
- java axis_Java 使用Axis实现WebService实例
- JAVA数据库连接池_java与数据库的连接怎么实现
- Java项目:CRM客户关系管理系统(Spring+SpringMVC+MyBatis + maven)
- Java反射注解赋值
- java使用XPath解析xml详解编程语言
- Lombok 介绍 消除Java的冗长详解编程语言
- 在java中使用gson生成和解析JSON详解编程语言
- Java线程新特征——Java并发库详解编程语言
- 持久化Java持久化技术与Redis高级应用(redis高级之java)
- 失效Redis Java的过期失效服务(redisjava过期)
- 测试Java操作Redis实例(java测试redis)
- Linux下Java命令:简介与基本用法(linux下java命令)
- Linux 服务器快速部署Java开发环境(linux配置java)
- 本使用Oracle Java 进行升级新版本带来新体验(oracle java版)
- java遍历读取整个redis数据库实例