trackpopupmenu

如何使用TrackPopupMenu创建菜单 我在使用clistctrl时,右击其元素希望弹出一个菜单,具有“定位、复制、删除、重命名、属性”功能。 首先处理弹出菜单,对clistctrl建立右击消息:ON_NOTIFY(NM_RCLICK, IDC_LIST, OnRclickList) 函数如下: void CFinderDemoDlg::OnRclickList(NMHDR* pNMHDR, LRESULT* pResult)  阅读详情
  name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1193665761703&lmt=1193665780&format=336x280_as&output=html&correlator=1193665761687&url=http%3A%2F%2Fwww.codeguru.cn%2Fpublic%2Fiframe%2Fwinapiiframe.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=1285758818.1193665762&ga_sid=1193665762&ga_hid=111695597&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_his=8&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency">     函数功能:该函数在指定位置显示快捷菜单,并跟踪菜单项的选择。快捷菜单可出现在屏幕上的任何位置。

    函数原型:BOOL TrackPopupMenu(HMENU hMenu,UINT uFlags,int x,int y,int nReserved,HWND hWnd,CONST RECT”prcRect);

    参数

    hMenu:被显示的快捷菜单的句柄。此句柄可为调用CreatePopupMenu创建的新快捷菜单的句柄,也可以为调用GetSubMenu取得的与一个已存在菜单项相联系的子菜单的句柄。

    uFlags:一种指定功能选项的位标志。用下列标志位之一来确定函数如何水平放置快捷菜单:

    TPM_CENTERALLGN:若设置此标志,函数将按参数x指定的坐标水平居中放置快捷菜单。

    TPM_LEFTALLGN:若设置此标志,函数使快捷菜单的左边界与由参数X指定的坐标对齐。

    TPM_RIGHTALLGN:若设置此标志,函数使快捷菜单的右边界与由参数X指定的坐标对齐。

    用下列标志位之一来确定函数如何垂直放置快捷菜单:

    TPM_BOTTOMALLGN:若设置此标志,函数使快捷菜单的下边界与由参数y指定的坐标对齐。

    TPM_TOPALLGN:若设置此标志,函数使快捷菜单的上边界与由参数y指定的坐标对齐。

    TPM_VCENTERALLGN;若设置此标志,函数将按参数y指定的坐标垂直居中放置快捷菜单

    用下列标志位之一来确定在菜单没有父窗口的情况下用户的选择:

    TPM_NONOTIFY:若设置此标志,当用户单击菜单项时函数不发送通知消息。

    TPM_RETURNCMD;若设置此标志;函数将用户所选菜单项的标识符返回到返回值里。

    用下列标志位之一来确定在快捷菜单跟踪哪一个鼠标键:

    TPM_LEFTBUTTON:若设置此标志,用户只能用鼠标左键选择菜单项。

    TPM_RIGHTBUTTON:若设置此标志,用户能用鼠标左、右键选择菜单项。

    X:在屏幕坐标下,快捷菜单的水平位置。

    Y:在屏幕坐标下,快捷菜单的垂直位置。

    NReserved:保留值,必须为零。

    HWnd:拥有快捷菜单的窗口的句柄。此窗口接收来自菜单的所有消息。函数返回前,此窗口不接受来自菜单的WM_COMMAND消息。

    如果在参数uFlags里指定了TPM_NONOTIFY值,此函数不向hWnd标识的窗口发消息。 但必须给hWnd里传一个窗口句柄,可以是应用程序里的任一个窗口句柄。

    PrcRect:未用。

    返回值:如果在参数uFlags里指定了TPM_RETURNCMD值,则返回值是用户选择的菜单项的标识符。如果用户未作选择就取消了菜单或发生了错误,则退回值是零。如果没在参数uFlags里指定TPM_RETURNCMD值,若函数调用成功,返回非零值,若函数调用失败,返回零。若想获得更多的错误信息,清调用GetLastError

    函数:

    备注:Windows CE不支持参数uFlags取下列值:TPM_NONOTIFY;TPM_LEFTBUTTON;TPM_RIGHTBUTTON。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib。

MFC自定义弹出式菜单实战:从CMenu类到TrackPopupMenu高级应用 弹出式菜单作为经典的桌面软件交互元素,其核心原理是通过资源定义与动态加载实现按需触发的快捷操作。在Windows编程中,菜单资源管理与消息映射机制构成了其技术基础,CMenu类作为菜单控制器,通过LoadMenu加载资源、GetSubMenu获取子菜单、TrackPopupMenu控制显示位置与行为。这种设计模式在嵌入式上位机、工控软件等对交互效率要求高的场景中价值显著,能够提升操作的专业性与用户体验。本文以MFC框架为例,深入解析如何为CListCtrl等控件实现智能右键菜单,涵盖坐标转换、动态菜单项更新 阅读详情

相关推荐

hive sql每个用户的累积访问次数

我们有如下的用户访问数据 userId visitDate visitCount u01 2017/1/21 5 u02 2017/1/23 6 u03 2017/1/22 8 u04 2017/1/20 3 u01 2017/1/23 6 u01 2017/2/21 8 U02 2017/1/23 6 U01 2017/2/22 4 要求使用SQL...

weixin_39150719的博客 3479

Windows API函数大全(精心总结)_winapi函数大全

RemoveDirectory删除指定目录SearchPath查找指定文件SetCurrentDirectory设置当前目录SetEndOfFile针对一个打开的文件,将当前文件位置设为文件末尾SetFileAttributes设置文件属性SetFilePointer在一个文件中设置当前的读写位置SetFileTime设置文件的创建、访问及上次修改时间SetHandleCount这个函数不必在win32下使用;即使使用,也不会有任何效果。

2401_84447233的博客 3794

74LS161/48 交通灯控制系统:30-5-20-5 时序逻辑电路 Multisim 仿真验证

本文详细解析了基于74LS161/48芯片的交通灯控制系统设计,通过Multisim仿真验证30-5-20-5时序逻辑电路。从系统架构搭建、状态机实现到波形分析,提供全流程操作指南与典型问题排查方法,助力数字电路课程设计高效完成。

weixin_26742753的博客 377

通过TrackPopupMenu函数弹出菜单

如果你写一个win32程序,你想在某个条目上鼠标右键,弹出一个简单的菜单,该菜单就有一个选项。那么,你不用费很大的力气去设计这个菜单,也不需要写一个xml等,你只需要使用TrackPopupMenu函数来实现这个简单的梦想。msdn是这样描述的: Displays a shortcut menu at the specified location and tracks the selection

一蓑烟雨任平生 也无风雨也无晴 2万+

糖尿病预测(深度学习pytorch实现-最新)

本次做的项目是糖尿病的预测,也是来自kaggle上面的一个小项目。根据一个人的怀孕次数、血糖、血压、皮肤厚度、胰岛素指标、身体质量指数、糖尿病谱系指数、年龄等身体参数来预测一个人是否患有糖尿病。

NangoGreen的博客 5356

Ansys Lumerical 2023 R1.2新功能实战:薄膜铌酸锂调制器仿真全流程解析

本文详细解析了Ansys Lumerical 2023 R1.2在薄膜铌酸锂电光相位调制器仿真中的最新功能与应用。通过实战演示,展示了从电极配置、电场计算到模式分析的全流程,重点介绍了各向异性介电常数支持和多物理场耦合优化等关键技术,助力开发者高效设计高性能光通信器件。

weixin_28454475的博客 1204

孙鑫VC++讲座笔记-(6)菜单编程

1,弹出菜单(Pop-up)是不能用来作命令响应的。2,MFC中菜单项消息如果利用ClassWizard来对菜单项消息分别在上述四个类中进行响应,则菜单消息传递顺序:View类--Doc类--CMainFrame类--App类。菜单消息一旦在其中一个类中响应则不再在其它类中查找响应函数。具体:当点击一个菜单项的时候,最先接受到菜单项消息的是CMainFrame框架类,CMainFrame框架类将会

hbyufan的专栏 8715

(数字图像处理MATLAB+Python)第五章图像增强-第一节:图像增强概述和基于灰度级变换的图像增强

图像增强(Image Enhancement):指不考虑图像降质原因,利用各种数学方法和变换手段,增强图像中人们感兴趣部分或提高有用的图像特征的清晰度。从图像质量来看,图像增强提高了图像的可懂度,改善了图像的视觉效果例如在现实场景中,针对那些对比度较差、视觉效果不好的图像,我们就可以利用图像增强改善视觉质量图像增强可分为如下几种基于灰度级变换的图像增强基于直方图修正的图像增强基于照度反射模型的图像增强基于模糊技术的图像增强基于伪彩色处理的图像增强其他图像增强方法分段线性灰度级变换。

快乐江湖的博客 3331

CMenu::TrackPopupMenu

 BOOL TrackPopupMenu( UINT nFlags, int x, int y, CWnd* pWnd,LPCRECT lpRect = NULL );返回值:如果成功,则返回非零值,否则为0。参数: nFlags 指定屏幕位置标志或鼠标键标志。屏幕位置标志可以为下列值之一: · TPM_CENTERALIGN 使弹出菜单在水平方向相对于

lanpishu1984的专栏 1909

华为OD机试 新系统真题-收集灵草(Java/Py/C++/Go/C/Js)

华为OD机试 新系统真题【收集灵草】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【收集灵草】多语言题解。

qq_45776114的博客 544

Unity零基础到入门 ☀️| 小万字教程 对 Unity 中的 协程 ❤️全面解析+实战演练❤️

Unity,为了让Unity基础知识专栏更加完善,又肝了一篇协程来学习。 协程在Unity中还是很常用的,一起来看一下协程的基本概念和使用方法吧!

努力前行,总会成为自己心中的那道光 8万+

TrackPopupMenu函数参数

TrackPopupMenu的输入坐标是屏幕坐标。所以,首先,在使用TrackPopupMenu函数之前,不要忘记利用 void ClientToScreen(    LPPOINT lpPoint ) const; 函数把窗口坐标转换为屏幕坐标。 TrackPopupMenu函数    原型:BOOL TrackPopupMenu( UINT nFlags,int x,i

u012750259的专栏 3822

【Burp入门第三十三篇】BurpSuite+Proxifier安装配置,实现微信小程序抓包

本文介绍Burp+Proxifier安装配置,实现微信小程序抓包

等风来 5873

TrackPopupMenu参数为屏幕坐标的转换

第一次接触TrackPopupMenu函数的时候大家可能会发现:编写出来的窗口的动态弹出菜单位置始终不能如愿地显示在正确位置,仔细观察或者查MSDN就知道,TrackPopupMenu函数中的坐标参数是屏幕坐标,而不是我们的窗口相对坐标,因此在使用时我们可能会想到查找当前窗口在屏幕上的坐标来实现窗口坐标与屏幕坐标转换。而有个现存的函数可供我们利用,就是void ClientToScreen( 

loongee的专栏 2097

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

函数TrackPopupMenu()

函数功能:该函数在指定位置显示快捷菜单,并跟踪菜单项的选择。快捷菜单可出现在屏幕上的任何位置。 函数原型:BOOL TrackPopupMenu(HMENU hMenu, UINT uFlags, int x, int y, int nReserved, HWND hWnd, CONST RECT* prcRect);

ghevinn欢迎您光临 1502

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

TrackPopupMenu

函数功能:该函数在指定位置显示快捷菜单,并跟踪菜单项的选择。快捷菜单可出现在屏幕上的任何位置。 函数原型:BOOL TrackPopupMenu(HMENU hMenu,UINT uFlags,int x,int y,int nReserved,HWND hWnd,CONST RECT* prcRect);  参数一览 hMenu:被显示的快捷菜单的句柄。此句柄可为调用Cre...

weixin_33834075的博客 449

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

TrackPopupMenu( ) 函数详解

TrackPopupMenu( ) 函数详解

懒人一个 596

关于右键菜单函数  trackpopupmenu

相关介绍 函数功能:该函数在指定位置显示快捷菜单,并跟踪菜单项的选择。快捷菜单可出现在屏幕上的任何位置。 函数原型:BOOL TrackPopupMenu(HMENU hMenu, UINT uFlags, int x, int y, int nReserved, HWND hWnd, CONST RECT* prcRect); 参数一览 hMenu:被显示的快捷菜单的句...

轩逸云的博客 1040

从TrackPopupMenu(创建快捷菜单的函数)看菜单消息路由机制

先摘段《vc++深入详解》孙鑫的话以上讲的是点击主菜单时的消息路由过程,但鼠标右键快捷菜单的消息路由有点区别。TrackPopupMenu函数用来创建右键快捷菜单。例:CMenu menu;menu.LoadMenu(MENUID);menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON                                                                 , x_posi

lfw19891101的专栏 5614

孙鑫VC++深入详解:Lesson6 Part3 ---创建右键弹出菜单 TrackPopupMenu

1  -----增加右键弹出菜单方法一:      Project-->Add to Project-->Components and Controls -->Visual C++ Components    -->Pop-up menu 注意要加到View类中,不要加到Frame类中,因为Frmae被View覆盖,收不到鼠标消息. 2  -----增加右键弹出菜单方法二: 模仿一,在鼠

-----------------------------不要在跟自己无关的事情上浪费时间 9978

TrackPopupMenu和DoModal

        昨天跟同学一起调程序,在一个单文档多视图的项目里,有一个视图是从CTreeView继承的,同学希望右键点击弹出菜单,然后点击菜单项弹出模式对话框。       然后就在那个视图里加了OnRButtonDown响应,由于系统自动生成,就在响应的最后调用了CTreeView::OnRButtonDown。同时在视图里添加了响应菜单命令的函数,并在其中弹出模式对话框。       但发现

m_sean的专栏 1058
上一篇: tounicodeex
下一篇: trackpopupmenuex
WinApiExample
博客等级 码龄19年 2粉丝 663原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值