mfc窗口置顶_mfc treecontrol

mfc窗口置顶_mfc treecontrol版权声明:www.gudianxiaoshuo.com原创文章版权–古典小说网         WM_CONTEXTMENU消息用来响应鼠标右键消息,它响应的不是鼠标右键按下消息,也不是鼠标右键弹起消息而是鼠标右键依次按下弹起后触发的消息。          因此,若程序还响应了鼠标右键按下的消息OnRButtonDown,且在此响应函数中有模特对话


Jetbrains全系列IDE稳定放心使用



 

         WM_CONTEXTMENU消息 用来响应鼠标右键消息, 它响应的不是鼠标右键按下消息,也不是鼠标右键弹起消息

而是鼠标右键 依次按下弹起后触发的消息。

 

         因此,若程序还响应了鼠标右键按下的消息OnRButtonDown,且在此响应函数中有模特对话框出现的话,则不会响应WM_CONTEXTMENU消息。

         比如,有AfxMessageBox(L”Right Down”); 模特对话框出现在右键按下响应函数中, 则关闭此模特对话框后,不在响应右键菜单消息。

 

         原因在于:

         右键菜单 是在右键依次按下弹起时才被触发的。

        右键按下, 模特对话框产生时,消息只被发送到了模特对话框,因此,鼠标弹起消息未被发送到主窗口,因此,不会响应右键菜单消息。

 

        但是,如果在右键弹起响应函数OnRButtonUp中响应模特对话框消息的话, 右键菜单消息 不会被影响。

        原因是: 此时鼠标按下、弹起消息均已被发送到了主窗口,因此程序在关闭模特对话框后,仍会响应右键菜单消息。

 

  1. OnContextMenu(CWnd* pWnd, CPoint point)  
  2. {  
  3.     CPoint pt=point;  
  4.     CMenu menu;  
  5.     CMenu* PopupMenu=NULL;  
  6.   
  7.     ScreenToClient(&pt);  
  8.   
  9.     //加载菜单  
  10.     menu.LoadMenu(IDR_IMAGEVIEW);  
  11.   
  12.     //子菜单项  
  13.     //右键点击 弹出此子菜单项  
  14.     PopupMenu=menu.GetSubMenu(3);  
  15.     PopupMenu->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN,point.x,point.y,this);  
  16. }  
mfc窗口置顶_mfc treecontrol

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.net/181090.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python编写简单网页_python制作动态数据图

    python编写简单网页_python制作动态数据图Django项目是一个定制的框架,可以和Python一起相结合制作网页。Django框架是用于创建模型的对象关系映射,也是为最终用户设计完美的管理界面。学习python语言的朋友可能尝试过用Django做一个网站,有的朋友可能会用bootstrap的CSS库来做,事实上做的还挺好看的。本文给大家介绍的是一个简单的网页制作,利用pythonDjango来做的,下面我们一起来看看吧。1、创建一个d…

    2022年10月13日
  • SQLyog下载_下载地址

    SQLyog下载_下载地址下载地址:百度网盘请输入提取码链接:https://pan.baidu.com/s/1Xowhx0uuAxykHPmuXztNEQ提取码:e9o2希望对你有所帮助~

    2022年9月15日
  • 学会使用getopt函数[通俗易懂]

    学会使用getopt函数[通俗易懂]简介getopt函数是命令行参数解析函数,在平时阅读源码的时候经常遇到,很有必要对其总结一下,做个记录!命令行参数各组成部分的名称先来了解下命令行参数各组成部分的名称。直接上图:非常清楚,命令行参数由Commandname,Option,Optionargument以及Operands组成。Commandname不用多说,就是程序的名称。操作对象Operands又…

    2022年6月9日
  • Springboot + Spring Security + jwt-token实现权限认证

    Springboot + Spring Security + jwt-token实现权限认证

    2021年8月31日
  • 静态分析的四种基本方法是_比较静态均衡分析方法

    静态分析的四种基本方法是_比较静态均衡分析方法*数据流分析(DataFlowAnalysis)将数据看作是图,节点是程序的基本快,边是描述控制如何从一个基本快转移掉另一个基本快。图可以解决很多问题,例如:以图中边的抽象得出数学方程,七届就

    2022年8月4日
  • pipeline流水线框架_流水线主动轮设计

    pipeline流水线框架_流水线主动轮设计流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法。目的是将一个大操作分解成若干的小操作,每一步小操作的时间较小,所以能提高频率,各小操作能并行执行,所以能提高数据吞吐率(提高处理速度)。缺点:功耗增加,面积增加,硬件复杂度增加,特别对于复杂逻辑如cpu的流水线而言,流水越深,发生需要hold流水线或reset流水线的情况时,时间损失越大。…

    2022年8月14日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号