鼠标右键弹出菜单代码如下:

// 右键菜单
void CYUVPlayerDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{// TODO: Add your message handler code hereCMenu popMenu;CMenu *pPopup;popMenu.LoadMenu(IDR_MENU2);pPopup=popMenu.GetSubMenu(0);pPopup->EnableMenuItem(ID_R_OPEN, MF_BYCOMMAND|MF_ENABLED);pPopup->EnableMenuItem(ID_R_SETTING, MF_BYCOMMAND|MF_ENABLED);pPopup->EnableMenuItem(ID_R_EXIT, MF_BYCOMMAND|MF_ENABLED);//pPopup->EnableMenuItem(ID_R_SETTING,MF_BYCOMMAND|MF_DISABLED|MF_GRAYED);pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON, point.x,point.y, this);pPopup->Detach();popMenu.DestroyMenu();
}

其中IDR_MENU2为右键菜单ID。

一般的窗口,只有标题处才可用鼠标拖动,下面代码实现了非标题也可用鼠标拖动。实质上响应OnNcHitTest事件,代码如下:

// 实现非标题也可用鼠标拖动
LRESULT CYUVPlayerDlg::OnNcHitTest(CPoint point)
{UINT nHitTest = CDialogEx::OnNcHitTest(point);if ((nHitTest == HTCLIENT) && (::GetAsyncKeyState (MK_LBUTTON) < 0))nHitTest = HTCAPTION;return nHitTest;//return CDialogEx::OnNcHitTest(point); // not this....
}

2015.8.15晚



我的YUV播放器MFC小笔记:右键菜单事件和非标题实现鼠标拖动相关推荐

  1. 我的YUV播放器MFC小笔记:注册表读写

    在使用YUV Player Deluxe时,发现其可保存上一次的参数,研究之后,才知道它是使用注册表来实现的.下面是YUV播放器与注册表有关的函数接口,注册表与了我的大名外,其它值是参照YUV Pla ...

  2. 我的YUV播放器MFC小笔记:设置picture控件背景为黑色、窗口缩放

    图像的显示主要使用picture控件,一般播放器,在初始化时,播放画面的区域背景都是黑色的,在YUV播放器,也如此.但在网上找了很久的资料才实现该功能,其实说白了,代码很简单,在OnPaint函数中将 ...

  3. 我的YUV播放器MFC小笔记:非模态对话框建立及窗口间传值

    YUV播放器中,显示界面(主窗口)和设置界面分离,所有参数均在Setting子窗口设置,故需要主窗口和子窗口中实现参数传递.下面是方法. 1. 在主窗口CYUVPlayerDlg类中定义子窗口变量: ...

  4. 我的YUV播放器MFC小笔记:添加删除自定义分辨率

    在最初设计YUV播放参数时,就考虑参数的保存,即使用注册表方式,前文已述.但直到后来才解决几个技术问题,方得以写此文章. 分辨率使用下拉框形式,在程序启动时初始化,不在资源中写死.注册表使用一个str ...

  5. 我的YUV播放器MFC小笔记:解析文件名称

    为了方便播放器直接播放,也为实现所谓智能识别文件分辨率和格式,对文件名称进行解析,代码如下: #define ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0]))// ...

  6. 我的YUV播放器MFC小笔记:unicode编码、宽字符

    以前的MFC工程,字符集都是基于多字节的,而现在这个工程,无意间使用unicode字符集,在其过程中,有诸多函数使用不同于以前.当然,建立项目后也是可以在项目属性中修改字符集的.这篇文章记录一下关 ...

  7. 我的HEVC码流分析工具MFC小笔记:树形控件使用及窗口缩放

    大约1个半月前,发布了自己写的HEVC码流分析工具.当时的版本显示语法元素使用是的Edit控件.很多主流分析工具都使用树形控件,看上去觉得比较高端,于是在纠结一天后下定决心自己也实现树形的HEVC语法 ...

  8. 使用SDL实现一个简单的YUV播放器

    本文将通过几个简单示例,最后实现一个YUV播放器 本文内容如下 1.SDL的基本操作 2.SDL的处理事件 3.SDL的纹理渲染 4.使用SDL实现YUV播放器 1.SDL的基本操作 这个例子中,使用 ...

  9. php video标签使用方法,HTML_HTML5 video标签(播放器)学习笔记(一):使用入门,近有在学习html5中video标签(播 - phpStudy...

    HTML5 video标签(播放器)学习笔记(一):使用入门 近有在学习html5中video标签(播放器)的使用,这里做一些学习笔记,方便自己查阅和记录,本文是第一篇,将介绍的是使用该标签初始化该做 ...

最新文章

  1. python职能-高级Python开发工程师职位描述与岗位职责任职要求
  2. Access restrictions on Jars
  3. 计算机发展初期 承载信息的媒体,《多媒体技术与应用》(本)阶段练习一
  4. 【转】c#中@的3种作用
  5. InfoPath2010表单-IE浏览器2个“微型内嵌工具”的使用和介绍
  6. 干掉Dubbo !这个后端开发框架就是王者!
  7. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_03-项目概述-技术架构...
  8. (转)Linux 系统性能分析工具图解读(一、二)
  9. 数据分析师都有哪些发展方向?
  10. mac电脑怎么清空浏览器缓存?Chrome浏览器 for Mac清理缓存的方法
  11. 基于SSM+VUE的交通事故案例库系统(前后端分离)
  12. 第六章、面向对象的PHP
  13. 大话设计模式之爱你一万年:第三章 创建型模式:工厂模式:我想让你坐在宝马里笑:6.工厂模式在Spring框架和JDK源码中的应用
  14. js除法保留小数_javascript(js)的小数点乘法除法问题详解
  15. [时间复杂度]为什么采用二叉排序树查找的平均查找长度为O(log2n)
  16. windows安装软件出现“command line option syntax error”错误
  17. memsql 基本完全免费了
  18. vue二维码解码器(增加上传二维码之后弹窗预览)
  19. MySQL8.0.11修改root密码
  20. 如何获取篮球比赛实时赔率

热门文章

  1. iPhone 14 Pro影像规格曝光:升级48MP主摄 镜头模组也大了
  2. OPPO Reno7红丝绒新年版开售:精致虎头标识+金色镜头保护圈
  3. 新冠病例继续攀升 苹果关闭纽约市所有实体店
  4. 花51万请明星和网红带货仅卖5000元,法院这样判了...
  5. 被指涉嫌“二选一” 山姆回应:欢迎良性竞争
  6. 小米11 Pro最新渲染图曝光:后置体积巨大的矩阵四摄
  7. 双11肯德基星巴克在饿了么各卖出2亿元
  8. iPhone 12发布当天,罗永浩开“旧机发布会”:香得不行!
  9. 拿下微软、Google、Adobe,印度为何盛产科技圈 CEO?
  10. 任正非:不要过度消费客户及民众对我们的同情与支持