trackpopupmenuexl

用HOOK机制让自绘菜单栏控件模拟系统菜单栏行为 在Windows的UI开发中,我们经常需要对窗口和控件进行自绘,以实现独特的UI风格,满足软件的个性化需求,提升用户的视觉体验。目前市面上流行的软件,大都有自己别具一格的界面,许多软件还提供多种界面供用户选择,我们称之为skin。应用程序的类型,按M$通俗粗略的划分,可以分为:对话框程序、单文档程序(SDI)、多文档程序(MDI)。在换肤功能的开发中,对话框程序是最简单的,单文档和多文档程序是 阅读详情
  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 TrackPopupMenuEX(HMENU hMenu,UINT uFlags,int x,int y,HWND hWnd,LPTPMPARAMS lptpm);

    参数:

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

    UFlags:定位或其他选项。此参数可为零或取在函数CreatePopupMenu里所列的值,也可取下列之一值:

    TPM_HORIZONTAL:在不覆盖排斥矩形就不能在指定位置显示菜单时,系统将先考虑水平对齐的要求。

    TPM_VERTICAL:在不覆盖排斥矩形就不能在指定位置显示菜单时,系统将先考虑垂直对齐的要求。排斥矩形是指屏幕上菜单不能覆盖的部分,由Iptpm指定。

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

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

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

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

    lptpm:指向结构TPMPARAMS的指针,该结构指定屏幕上菜单不能覆盖的区域。此参数可为NULL。

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

    函数。

    备注:Womdpws CE不支持参数uFlags取下列值:

    TPM_NONOTIFY;TPM_LEFTTBUTTON;TPM_RIGHTBUTTTON;TPM_HORIZONTAL;TPM_VERTICAL;

    参数lptpm必须设为NULL。

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

stm32f407VET6 系统学习 day01 GPIO 配置 stm32f407VET6 系统学习 day01 GPIO 配置 LED 蜂鸣器 按键的不讲了,之前讲过了 阅读详情

相关推荐

【算法设计与分析】期末复习题(超详细)

刚刚整理了一下电脑的文件,发现了这份上学期的算法设计与分析期末复习题,有需要的文后自取。

a1234567822的博客 6610

API全功略(API编程的详细介绍)

API全功略(API编程的详细介绍)什么是API 首先,有必要向大家讲一讲,什么是API。所谓API本来是为C和C++程序员写的。API说来说去,就是一种函数,他们包含在一个附加名为DLL的动态连接库文件中。用标准的定义来讲,API就是Windows的32位应用程序编程接口,是一系列很复杂的函数,消息和结构,它使编程人员可以用不同类型的编程语言编制出的运行在Windows95和Windows NT

April的学习全纪录 1万+

VM下安装linux虚拟机(ubuntu)和Intel parallel XE 2013(ifort2013)

VM下安装ubuntu和ifort2013跑自己的模式 由于新冠疫情,本人只能在家工作,很多重要的文件和程序都留在了办公室的linux机器上,工作无法正常开展。本来准备去办公室把机器搬回家不曾想学校所有门禁都关闭,不许进入,何时解禁也没有明确日期。科研不能等人,没条件科研只能想办法创造条件了。 以前在自己的笔记本(windows)上装过一次VM和ifort但无奈程序不能正常跑,所以之前就放弃了。本...

pangdahai3366的博客 1497

解决TrackPopupMenu显示菜单不全的问题

经常使用菜单,但是如果直接加载菜单资源,调用TrackPopupMenu时 就会出现菜单显示不全的问题, 基本上解决方法就是先GetSubMenu,再TrackPopupMenu, 两种方法,一种就是在菜单资源里把所要加载的资源放到一个Popup属性的菜单下面, 另外就是程序创建一个Popup菜单,把菜单资源附加到这个Popup菜单上,再从Popup菜单中GetSubMenu(0)  取得需要

zgl7903的专栏 4287

FineBI制作数据可视化大屏-数据连接(1)

快速上手大屏可视化,FineBI数据连接配置。

Pangaoyang_的博客 1909

图数据库Neo4j面试内容整理-Neo4j的性能

在执行复杂关系查询时,Neo4j 通过图结构的高效存储和查询机制,能够比传统的关系型数据库提供更快的性能,尤其是在涉及深层关系的查询时。通过合理的配置、优化查询和使用合适的硬件,Neo4j 可以处理大规模的数据集和高并发的查询请求,满足企业级应用的需求。Neo4j 在处理图数据时,通过优化图的存储、查询和遍历等方面,提供了高效的性能,特别适合用于需要处理复杂关系和多层次连接的应用场景,如社交网络、推荐系统、知识图谱等。:Neo4j 会根据查询的结构和数据的分布自动选择最优的查询计划。

不务正业的猿 585

wtl界面3

WM_CONTEXTMENU处理右键环境菜单. 命令栏CCommandBarCtrl控件,有TrackPopupMenu方法,与win32的TrackPopupMenuEx一样. BOOL CCommandBarCtrlImpl::TrackPopupMenu(HMENU hMenu, UINT uFlags, int x, int y,LPTPMPARAMS lpParams = NULL) 使用前,加载菜单资源.有CMenu和CMenuHandle两个类. LRESULT CMainFrame::On

个人进步之路 617

基于simulink创建一个针对双馈异步风力发电机并网运行的仿真模型

摘要:本文详细介绍了基于Simulink的双馈异步风力发电机(DFIG)并网运行仿真建模方法。系统包含风速输入、风力机、双馈发电机、电力电子变换器、控制器和并网接口等模块,通过8个步骤完整呈现了建模流程,包括风速模拟、机械功率计算、发电机特性建模、变流器控制策略设计等关键环节。仿真可评估系统在不同风速条件下的动态响应、最大功率跟踪能力和发电效率,为风力发电系统的优化设计提供有效验证手段。模型可根据实际需求扩展环境因素和电网交互等细节,提高仿真精度。

amy_mhd的博客 333

取消对 null 指针“l”的引用。_利用CVE20191132:Windows内核中的另一个NULL指针取消引用...

NULL指针取消引用应该早在几年前就已终止,但仍在恶意软件攻击中被发现和使用。这篇文章探讨了CVE-2019-1132的内部细节,Buhtrap小组将其用于针对东欧的受害者。介绍我们在本文中讨论的漏洞NULL指针取消引用位于win32k.sys驱动程序中,该驱动程序导致Windows 7和Windows Server 2008操作系统上的特权(EoP)成功升级。Microsoft在7月补...

weixin_39616416的博客 377

VR大空间开发前期,设备选项与流程

欢迎开发者加入 VR 大空间开发之旅!本系列教程将以 Pico 和 HTC 设备为核心,系统拆解从基础搭建到功能实现的全流程,助你快速掌握开发要点。本系列共 12 篇,专为有编程基础但缺乏大空间开发经验的开发者设计。前 7 篇针对 Pico 和 HTC 设备差异分别讲解,后续步骤通用。核心目录如下:​1. 空间环境要求 - 灯光设置 - 场地面积规划 - 识别图案设计2. 网络部署方案3. 客户端体验模式解析 - 一体机模式 - 云渲染模式 - 背包体验模式4. Pico空间录制方法

unitygroup的博客 1347

SAP FICO 中的 F-02 :概念、使用场景及案例解析

在 SAP FICO (财务会计与管理会计) 模块中,F-02 是一个用于录入总账凭证的事务代码。这个事务代码主要用于手动输入总账凭证,适用于各类财务交易,例如资产购入、费用支付、收入确认等。F-02 的重要性在于,它允许财务人员在 SAP 系统中创建凭证,并确保这些凭证能够正确影响总账账户。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2060

API之菜单函数

AppendMenu 在指定的菜单里添加一个菜单项 CheckMenuItem 复选或撤消复选指定的菜单条目 CheckMenuRadioItem 指定一个菜单条目被复选成“单选”项目 CreateMenu 创建新菜单 CreatePopupMenu 创建一个空的弹出式菜单 DeleteMenu 删除指定的菜单条目 DestroyMenu 删除指定的菜单 DrawMenuBar 为指定的窗口重画菜

benjiamen的专栏 1280

基于STM32、HAL库的GZP6816D气压传感器 驱动程序设计

测量范围:0-16kPa(可根据型号不同有变化)工作电压:1.8V-3.6V。高精度:±1% FS。

corlin6688的博客 217

Unity3D C#之IL2CPP Windows端隐藏任务栏图标并添加至托盘

1 引言 在这篇文章中,我们实现了点击最小化和关闭菜单将程序隐藏到任务栏的功能,但是这篇文章需要额外一个winform程序来处理任务栏的功能,有没有方法可以不需要依赖其他程序也能实现这个需求呢?当然有的,使用Windows系统提供的API就行了。 我们先来看看完全依靠调用Windows提供的API实现的效果。 ...

老王的博客 6094

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

由 BCG 谈到 API Hook

BCG 就无需介绍了,业界相当有名的 Visual C++ 换肤专家,能完美模拟 Outlook、Office、Visual Studio 的界面,连 Microsoft 也是他们的客户,其实力可见一斑。来张界面,这是他自己的 Outlook Demo 编译之后运行的效果: 上面那个 SysCommand 我用红色圈出来了,这么漂亮的一个 UI,居然还是那么老土的菜单(这个菜单在

蜡笔小辛的专栏 4753

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

制作如IE的标题栏和工具栏(翻译)

 Copyright by MSJ. I 原文:http://www.microsoft.com/msj/0199/c/c0199.aspxQ I read your columns in the August and October 1997 issues of MSJ describing how to implement coolbars in MFC and

弥勒日巴的专栏 3165

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

总结整理了一下,便于Windows开发时查找。

hzm8341的博客 5万+

textout

      函数功能:该函数用当前选择字符、背景颜色和正文颜色将一个字符串写到指定位置。    函数原型:BOOL TextOut (HDC hdc, int nXStart, int nYStart, LPCTSTR lpString, int cbString);    参数:    hdc:设备环境句柄。    nXStart:指定用于字符串对齐的基准点的逻辑X坐标。    nYStart:

807

trackpopupmenu

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

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值