win32 5.1 菜单的修改、使用系统菜单、右键弹出菜单、菜单状态的检测和设置、其他菜单函数

桌面端Web框架选型实战:CEF、Electron与Tauri能力边界解析 桌面端Web技术本质是将浏览器引擎与原生系统能力深度集成的工程实践。其核心原理在于渲染进程与系统API的通信机制——CEF提供C++底层控制权,Electron封装Node.js桥接层,Tauri则以Rust构建安全IPC通道。技术价值体现在硬件直连、视频硬解、本地打印等关键能力的实现效率与稳定性上。典型应用场景包括工业HMI、医疗影像终端、政务自助设备等对串口通信、ARM64 H.264硬解、Lodop打印控件有强依赖的离线系统。本文基于真实产线约束,聚焦cef arm64 h.264和electron 阅读详情
  1. 菜单项的修改:
    1. 在程序运行中可以动态修改菜单性,包括添加、删除和修改操作。
    2. 使用几个API来进行操作,这个可以先进行略过,需要时阅读有关书籍即可。
  2. 使用系统菜单:
    1. 系统菜单的介绍:如下就是系统菜单。
      在这里插入图片描述
    2. 系统菜单的创建:
      WM_CREATE是窗口创建CreateWindow时,系统给消息处理程序发送的消息,每次窗口创建,有且只有1个WM_CREATE消息,所以只运行1次,可以在这里初始化滚动条,获取字体宽度、高度,创建子窗口、控件等等。
      在这里插入图片描述
    3. 系统命令的处理:简单的来进行命令处理。
      在这里插入图片描述
  3. 右键弹出菜单:
    1. 我们的目标是:在客户区按下右键时,鼠标右上角会弹出系统菜单。在这里插入图片描述
    2. 所以该程序分解为三步:检测按下右键、检测鼠标坐标、在该坐标处弹出菜单。
    3. 代码解释:可以看出x,y坐标,有关内容看详解就好:在这里插入图片描述
  4. 菜单状态的检测和设置:
    1. 对菜单项的状态进行设置的原因:比如,粘贴版中没有数据时,“粘贴”是灰色的;窗口中没有被选中的字符串时,“拷贝”菜单也应该是绘画的,这样可以给使用者一个善意的提醒。同时,对菜单的状态也常常需要检测,看看菜单项的状态一遍进行下一步操作。
    2. 菜单项状态的检测:在这里插入图片描述
    3. 菜单项的设置状态函数:存在三种,分别是 菜单项的[禁用,灰化等]、菜单项对号(非互斥)、菜单项的圆圈(互斥)在这里插入图片描述
      1. EnableMenuItem 函数:
        在这里插入图片描述
      2. CheckMenuItem 函数: 对号非互斥操作
        在这里插入图片描述
      3. CheckMenuRadioItem 函数:圆圈互斥
        在这里插入图片描述
    4. 代码解读:
      在这里插入图片描述
  5. 其他菜单函数:
    1. 菜单不一定非要在资源文件中定义,在程序中也可以用代码来建立菜单,不过比较麻烦。
    2. 使用菜单后涉及清除问题,与窗口相连的菜单句柄在窗口摧毁时自动由Windows系统释放,不需要手工操作,但没有与窗口相连的菜单就要由程序自己释放出来,使用 DestoryMenu,比如没有与窗口相连而仅用 TrackPopupMenu弹出的菜单句柄。
Windows 11 Pro + VS Code 构建本地AI Agent工位 Agent(智能体)是将大模型能力封装为可调度、可记忆、可协作的自动化工作单元的技术范式;其核心原理在于任务分解、工具调用、状态维护与上下文感知。在端侧落地时,技术价值集中体现为隐私可控、低延迟响应与系统级集成——这要求操作系统提供GPU直通、后台常驻、NUMA内存管理及可信执行环境等底层支撑。典型应用场景包括邮件摘要、会议纪要生成、代码错误修复、Excel公式辅助等高频办公任务。本文聚焦Windows 11 Pro与VS Code协同构建的轻量级本地Agent工位,深度融合WSL2容器、Ollama模型服 阅读详情

相关推荐

如何以编程方式更改 Windows 中的开始菜单布局

本文介绍了如何使用 Python 和 pywin32 库以编程方式修改 Windows 中的开始菜单布局。通过连接到 Windows Shell 对象并操作开始菜单的路径和文件,你可以根据自己的需求进行个性化设置。记得根据具体需求修改代码,并在执行脚本之前创建系统备份,以防意外发生。开始菜单是 Windows 操作系统的核心组成部分之一,它提供了用户访问应用程序、设置和其他系统功能的方式。在某些情况下,你可能希望以编程方式修改开始菜单的布局,以满足特定需求或个性化用户体验。你可以根据自己的需求进行修改。

PixelLogic的博客 128

添加菜单左边的图标

建一个图标大小为13 x 13.在CMainFrame添加member variable类型为CBitmap的Private 成员m_bitmap;在CMainFrame 的OnCreate函数中实现:m_bitmap.LoadBitmap(IDB_BITMAP1); GetMenu()->GetSubMenu(0)->SetMenuItemBitmaps(1,MF_BYPOSIT

sinomac的专栏 850

Win32创建窗体菜单栏以及弹出菜单

创建下拉菜单、子菜单或快捷菜单

m0_60352504的博客 1277

win32强化练习4.2_菜单勾选与图标变换

只有进行过充分的练习,才能够真正掌握一门技能!通过进行或单项或综合的知识点强化训练,巩固和提高自己的windows程序设计的技能水平!

AouSdu 1296

Delphi 12.3下Jvcl源码编译与核心控件应用实战

在Delphi开发中,第三方组件库是扩展VCL功能、提升开发效率的关键。JEDI Visual Component Library (Jvcl) 作为社区驱动的开源库,通过提供大量增强控件和实用工具,弥补了官方VCL在深度和广度上的不足。其核心价值在于提供源代码,赋予开发者完全的调试、定制和适配新版本的能力,这对于长期项目维护和应对Delphi版本升级至关重要。在Delphi 12.3等新版本环境下,正确编译和配置Jvcl源码是首要步骤,涉及环境变量设置、编译脚本识别和依赖路径管理。成功部署后,其核心控件如

weixin_34335458的博客 314

C#_Win32API操纵系统菜单

C#_Win32API操纵系统菜单

Win32创建菜单篇

一、知识准备: 菜单 ----- 每个菜单会有一个HMENU句柄 菜单项 ------ 每个菜单项会有一个ID号,可以根据这个ID执行不同的操作。 菜单一般分为三种:系统菜单、顶层菜单、弹出菜单(右键菜单)。 系统菜单: 程序左上角的图标点击鼠标左键、或者在标题栏点击鼠标右键,出现的就是系统菜单。主要内容有:还原、移动、大小、最小化、最大化、关闭。 顶层菜单: 一般出现在程序左上角位置。 弹出菜单: 程序的窗口中点击鼠标右键(必要的时候左键也可以)弹出的菜单,或者顶层菜单点击后出现的菜单,都称为弹出式菜单

程序员战胜 5591

Qlib数据获取避坑指南:从CSV导入到自定义数据源的完整解决方案

本文详细解析了Qlib数据获取的完整解决方案,从CSV导入到自定义数据源,涵盖了股票数据处理的关键技巧和常见陷阱。特别针对Qlib平台的数据格式要求和复权处理提供了实用指南,帮助量化投资者高效整合Wind等第三方数据源,确保数据质量与模型性能。

weixin_29047919的博客 304

VC中的一种漂亮的自绘菜单

源码下载效果图: 磁盘阵列(Disk Array)原理  一、CMenuEx菜单类主要接口函数:   1、void InitMenu(CMenu *pMenu,UINT uToolBar,CToolBar *pToolBar); 说明:这是最主要的一个接口。如果要改变主窗口的菜单则应在主窗口的OnInitMenu(CMenu *pMenu)中调用该函数(如:m_menu.

konyka的专栏 812

别再死磕MuJoCo了!用PyBullet+Stable-Baselines3搞定机械臂强化学习(保姆级环境配置)

本文详细介绍了如何使用PyBullet和Stable-Baselines3构建机械臂强化学习系统,绕过昂贵的MuJoCo许可壁垒。通过实战指南,包括环境配置、机械臂Gym环境构建、训练策略与调优技巧,帮助开发者快速掌握机器人强化学习技术,提升智能控制效率。

weixin_42667269的博客 264

手把手教你用STM32F103的IO口模拟XY2-100协议驱动数字振镜(附Keil O3优化代码)

本文详细介绍了如何使用STM32F103的IO口模拟XY2-100协议驱动数字振镜,包括协议解析、偶校验算法、寄存器级优化及Keil O3编译下的性能调优。通过硬件配置、核心代码实现和优化技巧,帮助开发者实现高速二维偏转控制,适用于工业激光雕刻和精密定位系统。

weixin_42527401的博客 261

TranslucentFlyouts 快速上手指南:Windows 弹出菜单变亚克力与云母的完整步骤

TranslucentFlyouts 能让 Windows 10/11 上大部分 Win32 弹出菜单拥有亚克力、云母等半透明效果。本文讲清安装方法、3 步验证效果,并覆盖符号下载失败、.NET 应用崩溃、StartAllBack 白边这几个高频问题的处理与验证方式。 ## 一、初体验:10 分钟装好透明菜单 默认的白色菜单背景配粗边框,和 Windows 11 的整体观感格格不入。Trans

gitblog_00208的博客 70

西门子S7-200 SMART PLC控制伺服电机

以下是使用西门子S7-200 SMART PLC控制伺服电机的详细程序框架和配置说明,涵盖硬件接线、PLC配置和基本运动控制逻辑。具体实现需根据伺服电机型号(如松下、三菱、台达等)调整参数。通过以上步骤,可实现伺服电机的基础位置控制。实际应用需根据设备机械参数和伺服驱动器手册调整细节。建议在调试时逐步测试脉冲输出和方向信号是否正常。

CHUXUEZHE8210的博客 6425

PowerToys Awake 模块技术解析:用 SetThreadExecutionState 实现非侵入式系统防休眠

Awake 是 Microsoft PowerToys 中的电源管理工具,它通过 Windows 电源管理 API 在运行时临时阻止系统休眠与显示器关闭,而不修改任何系统电源计划。本文围绕 `doc/devdocs/modules/awake.md` 的模块文档展开,结合 `src/modules/awake` 下的真实源码,剖析其四种工作模式的实现原理、完整的命令行接口、纯 Win32 系统托盘

gitblog_01057的博客 1049

OK3588-C开发板Forlinx Desktop系统烧录与多媒体功能实战

本文详细介绍了OK3588-C开发板Forlinx Desktop系统的烧录步骤与多媒体功能实战。从硬件准备到软件工具配置,逐步解析RKDevTool烧录技巧,并深入测试摄像头、视频编解码及音频功能,帮助开发者快速掌握RK3588芯片的强大性能与Ubuntu系统的优化应用。

weixin_29190169的博客 417

ICDAR数据集简介

ICDAR(文档分析与识别国际会议)是OCR领域的权威会议,每两年发布一次数据集,专注于‌自然场景文本检测与识别‌,涵盖多语言、复杂版式和真实环境挑战。街景、广告牌、票据、手写文档等真实场景图像。包含水平、垂直、倾斜、弯曲文本,背景干扰大,部分文本存在遮挡或模糊。提供文本位置坐标(矩形/四边形框)及内容,无法识别的文本标记为###。以上总结提炼了ICDAR的核心价值与应用方法论。给出最佳实践方法是官网数据预训练模型 + 业务数据微调(比如用PPOCRLabel标注100+张业务图)。

xinghaitao2005的博客 1117

VC++ MFC系统托盘功能完整实现:从API原理到健壮封装

系统托盘是Windows桌面应用程序中实现后台常驻、前台隐身交互模式的核心组件,广泛应用于监控、通讯、下载管理等软件。其技术原理基于Windows Shell提供的标准API,通过NOTIFYICONDATA结构体定义图标属性,并调用Shell_NotifyIcon函数与系统任务栏进行通信。在VC++ MFC开发中,合理封装这一功能能显著提升代码复用性和程序健壮性。本文深入解析了托盘图标的消息响应机制、资源管理策略,并针对多显示器适配、高DPI缩放等实际工程挑战提供了解决方案。通过封装可复用的CSystem

weixin_30632883的博客 414

【AI智能体】AI 编程 + 飞书CLI + Skills 重塑开发新范式实战操作详解

AI 编程 + 飞书CLI + Skills 重塑开发新范式实战操作详解

congge 3666

Visual Studio C语言开发:解决方案资源管理器与main函数规范

C语言开发环境的核心在于理解IDE的工程化结构与标准语法约束。解决方案资源管理器是Visual Studio中管理文件依赖、构建配置和项目拓扑的可视化骨架,其缺失本质反映对‘项目即结构’这一工程范式的认知断层;而int main()作为C标准强制规定的程序入口签名,关乎操作系统调用约定、进程退出码可靠性及跨平台兼容性。掌握其恢复方法(如Ctrl+Alt+L、Quick Launch搜索)与正确声明方式(非void main),是构建可维护、可调试、可协作C工程的基础前提,广泛适用于高校实训、嵌入式开发及Wi

weixin_33858485的博客 289

YOLOv8交通监控全方案:精准车辆计数+违章(闯红灯/压线)识别,拿来就落地!

作为深耕计算机视觉落地的开发者,我见过太多交通监控的“伪智能”——传统系统要么车辆计数不准(漏计/重复计数),要么违章识别滞后(靠人工回看录像),甚至连“闯红灯、压线”这类常见违章都无法实时判定,完全满足不了实际交通管理需求。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 646

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

COM注册表键项详解

本文系统梳理了Windows注册表的核心结构与功能,重点解析了五种主要注册表根键(HKCR、HKCU、HKLM、HKU、HKCC)的层级关系与数据来源。文章详细说明了COM组件注册的关键项(CLSID、ProgID、AppID等)及其子项配置,包括进程模型、安全权限、接口代理等参数设置。同时深入分析了文件扩展名关联机制、Shell扩展点(右键菜单/属性页等)的注册方式,以及自启动项、系统预设动词等实用注册表路径。

风之岷的开发空间 2361

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

OpenClaw v2.4.1:Windows 11 原生本地大模型智能体一键部署指南

本地大语言模型智能体(LLM Agent)是实现任务自动化的核心范式,其本质是将自然语言指令转化为多步骤工具调用与自主执行流程。相比云端API依赖或复杂容器化方案,原生Windows支持显著降低职场人与学生党的技术门槛——无需WSL2、不绕过系统安全策略、规避CUDA版本错配与环境冲突等高频部署断点。OpenClaw作为面向生产力场景的轻量级框架,依托Rust运行时与PowerShell事务脚本,实现开机自启、热重载、断点续传与服务化封装,真正达成‘15分钟内让数字同事跑起来’的技术承诺。本文聚焦Windo

weixin_30325971的博客 416

廖雪峰Python教程[完整版]

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

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Python生态GUI框架:Gooey、Pywinauto、PyQuery、JustPy、Maliang、WhakerPy

Python生态GUI框架:Gooey、Pywinauto、PyQuery、JustPy、Maliang、

lonelymanontheway的博客 669

STM32CubeIDE新手入门:从环境搭建到HAL库实战

嵌入式开发中,STM32CubeIDE作为集成化开发环境,本质是将芯片配置、外设初始化、编译调试等复杂流程抽象为标准化操作。其核心依托CubeMX图形化配置与HAL库封装,实现从寄存器级操作到函数级调用的跃迁,显著降低初学者的认知负荷。技术价值在于通过三层抽象(硬件→SVD描述→CubeMX→HAL)统一管理引脚复用、时钟树、DMA映射等关键资源,支撑LED控制、串口通信、SPI传感器驱动等典型应用场景。尤其适配STM32F1系列等主流MCU,成为‘stm32cubeide下载’‘cubemx安装’等高频搜

weixin_33788244的博客 358

win32gui ======= EnableMenuItem之百度解释

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34054866的博客 404

动态菜单

既然是动态菜单,就需要在一个消息响应中创建菜单,例如,WM_CHAR消息。 菜单资源是和对象联系的,所以要有一个CMenu对象。 AppendMenu函数为调用这个函数的对象的菜单添加一个后置的菜单或菜单项。有三个参数,第一个参数如果是MF_POPUP说明是弹出菜单,这时候第二个参数应该指定一个菜单句柄,菜单句柄从哪来呢?刚才的CMenu对象有一个方法是专门为自己分配一个句柄的createme

Temsy的专栏 776
上一篇: win32 5.1 菜单和加速键消息 的处理
下一篇: win32 5.2 图标和光标
OneTrianee
博客等级 码龄9年 32粉丝 152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值