【Delphi】系统菜单中增加菜单项

目录

一、问题提出

二、程序截图

​编辑 ​编辑

三、程序代码:


一、问题提出

我们在开发windows程序的时候,可能会希望在窗体的系统菜单中增加一个菜单项,那么如何实现呢,实际上通过调用windows API是可以实现的,在Delphi中具体的实现代码见下面,API的参考连接地址:Menus Functions | Microsoft Learn

二、程序截图

 

三、程序代码:

如下示例代码可以根据实际情况进行修改,就可以达到自己需要的目的。

{sensor 2024-01-29相关文档:https://learn.microsoft.com/zh-hk/previous-versions/aa931756(v=msdn.10)}unit uMainForm;interfaceusesWinapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Buttons;constMENU_MYITEM1 = WM_USER + 1000; //自定义消息句柄typeTForm2 = class(TForm)SpeedButton1: TSpeedButton;SpeedButton2: TSpeedButton;procedure SpeedButton1Click(Sender: TObject);procedure SpeedButton2Click(Sender: TObject);private{ Private declarations }H : THandle;procedure WMSysCommand(var Msg : TWmSysCommand); message WM_SYSCOMMAND; //拦截WM_SYSTEM消息public{ Public declarations }end;varForm2: TForm2;implementation{$R *.dfm}{ TForm2 }procedure TForm2.SpeedButton1Click(Sender: TObject);
beginAppendMenu(GetSystemMenu(handle,false),MF_SEPARATOR,0,'');//增加分隔条AppendMenu(GetSystemMenu(handle,false),MF_STRING,MENU_MYITEM1,'我的菜单项');//增加自定义菜单
end;procedure TForm2.SpeedButton2Click(Sender: TObject);
begin//删除分隔条,注意参数 0DeleteMenu(GetSystemMenu(handle,false),0,MF_BYCOMMAND);//删除一个菜单DeleteMenu(GetSystemMenu(handle,false),MENU_MYITEM1,MF_BYCOMMAND);
end;procedure TForm2.WMSysCommand(var Msg: TWmSysCommand);
beginif Msg.CmdType = MENU_MYITEM1 then //是自定义的菜单项MessageBox(handle,'自定义系统菜单项','提示',MB_OK or MB_ICONINFORMATION)elseinherited; // 其他交给系统处理,切记这一句很重要!!!!
end;end.

四、执行文件及源代码下载

        1. 执行文件:【免费】Demo-ADD-SysMenu.exe资源-CSDN文库

        2. 源程序:【免费】ADD-SystemMenu-Source资源-CSDN文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/653983.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go学习之air库的使用

首先下载air库 go install github.com/cosmtrek/air之后你需要去找到库下载的地方,若使用的是go mod可以使用命令 go env GOPATH找到下载库的位置 进入后,有bin,pkg目录,进入bin目录,你能看到air.exe文件 这时候将此…

备战蓝桥杯---二分(入门)

话不多说,先来个模板题来回顾一下上次讲的: 下面是AC代码: 下面进入正题: 本题对1,2行与3,4行组合,再用二分查找即可实现n^2logn的复杂度。 下面是AC代码: 接题: 让我们…

【更新】中国各省市是否属于“宽带中国”试点及“千兆城市”DID数据(2010-2023)

一、数据介绍 数据名称:【更新】中国各省市是否属于“宽带中国”试点及“千兆城市”DID数据 数据范围:全国所有地市 数据年份:2010-2023年 数据来源: “宽带中国”试点城市,来自工信部和国家发改委在2014年、2015…

幻兽帕鲁个人服务器怎么创建?

成功创建幻兽帕鲁服务器教程分享,阿里云和腾讯云均可以,总花费32元即可获得一台换手帕服务器4核16G配置,32人幻兽帕鲁服务器,阿腾云atengyun.com分享当前头部云厂商的Palworld服务器搭建教程,亲测可以! 阿…

【JavaScript基础入门】05 JavaScript基础语法(三)

JavaScript基础语法(三) 目录 JavaScript基础语法(三)数组概述数组语法多维数组 操作数组修改数组获取数组长度数组和字符串之间的转换添加和删除数组项 Null 和 Undefined字符串连接字符串字符串转换获取字符串的长度在字符串中查…

代码随想录刷题笔记-Day13

1. 二叉树的层序遍历 102. 二叉树的层序遍历https://leetcode.cn/problems/binary-tree-level-order-traversal/层次遍历依靠队列的先进先出特点实现。 解题思路 层序遍历的本质就是对每一个pop出来的处理节点,处理后把他的左右节点放进去。 对于每一层来说&…

Hutool改变我们的coding方式(四)

Hutool改变我们的coding方式 1、随机工具RandomUtil2、唯一ID工具IdUtil3、身份证工具IdcardUtil4、信息脱敏工具DesensitizedUtil 测试代码地址:https://gitee.com/Augenstern-creator/kuang-study_-hutools 1、随机工具RandomUtil RandomUtil主要针对JDK中Rando…

技法和原理:如何找到你需要的菜单项?

你一定碰到过查找某个菜单项的场景,通常我们会使用类似于 GetMenuItemInfo 这样的菜单函数, 在这类函数中,有一个参数允许你指定要查找的菜单项目的信息:MF_BYPOSITION 或者 MF_BYCOMMAND。 至此,是不是很眼熟了。今天…

一定用得到的时频分析方法!广义S变换、小波变换、短时傅里叶变换(STFT)、Wigner-Ville 分布,直接运行!

适用平台:Matlab2020版本及以上 在实际应用中,时频分析通常与机器学习/深度学习技术结合,以提高故障识别的性能。时频分析可以捕捉信号在时间和频率上的瞬时变化,有助于检测到与故障相关的瞬时特征,如脉冲、振动或其它…

༺༽༾ཊ—Unity之-05-抽象工厂模式—ཏ༿༼༻

首先创建一个项目, 在这个初始界面我们需要做一些准备工作, 建基础通用文件夹, 创建一个Plane 重置后 缩放100倍 加一个颜色, 任务:使用 抽象工厂模式 创建 人物与宠物 模型, 首先资源商店下载 人物与宠物…

智能语音识别源码系统+语义理解+对话管理+语音合成 带完整的搭建教程

人工智能技术的不断发展,智能语音识别技术逐渐成为人们日常生活和工作中不可或缺的一部分。然而,目前市场上的智能语音识别产品大多存在一定的局限性,如识别率不高、功能单一等。为了解决这些问题,罗峰给大家分享一款基于智能语音…

Ps:段落面板

Ps菜单:窗口/段落 Window/Paragraph Ps菜单:文字/面板/段落面板 Type/Panels/Paragraph Panel 对于“点文本”,默认一行为一个段落。每按一次回车键,就多出一个段落。 对于“段落文本”,一段可能有多行,具体…

汽车网络安全管理体系框架与评价-汽车网络安全管理体系评价

当前 , 随若汽车联网产品渗透率、 智能传感设备搭载率的提升, 以及汽车与通信、互联网等行业的融合创新发展, 汽车行业面临愈发严峻的网络安全风险, 对消费者人身财产安全、 社会安全乃至国家安全产生威胁, 是产业发展…

多智能体强化学习--MAPPO(pytorch代码详解)

标题 代码详解Actor和Critic网络的设置 代码详解 代码链接(点击跳转) Actor和Critic网络的设置 基本设置:3个智能体、每个智能体观测空间18维。Actor网络:实例化一个actor对象,input-size是18Critic网络&#xff1…

产品解读 | 新一代湖仓集存储,多模型统一架构,高效挖掘数据价值

星环科技TDH一直致力于给用户带来高性能、高可靠的一站式大数据基础平台,满足对海量数据的存储和复杂业务的处理需求。 同时在易用性方面持续深耕,降低用户开发和运维成本,让数据处理平民化,助力用户以更便捷、高效的方式去挖掘数…

Python tkinter (9) ——Menu控件

本文主要是Python tkinter Menu菜单控件介绍及使用示例。 tkinter系列文章 python tkinter窗口简单实现 Python tkinter (1) —— Label标签 Python tkinter (2) —— Button标签 Python tkinter (3) —— Entry标签 Python tkinter (4) —— Text控件 Python tkinter (5…

计算机毕业设计 基于SpringBoot的校园闲置物品交易系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

多场景建模:腾讯3MN

3MN: Three Meta Networks for Multi-Scenario and Multi-Task Learning in Online Advertising Recommender Systems 背景 推荐领域的多场景多任务学习:维护单模型即可节省资源也可节省人力;各个场景的数据共享,理论上面学习是更加充分的 …

微信小程序Skyline在手机端不渲染的问题之一及其解决方式

问题:电脑端是skyline渲染,手机端是webview渲染?如何解? 开发者工具 当前渲染模式:Skyline 当进行预览时手机端却是: 请注意看轮播图的显示情况 请注意看轮播图的显示情况 请注意看轮播图的显示情况 从轮播图上来看,手机端是webview渲染…

“有国才有家”这个观点应该怎么理解?

​《有国才有家》这首歌由马仕健作词作曲,蒋国佳编曲,刘畅混音,马仕健演唱。 “家是最小国,国是千万家”。千百年来,“家国”这两个词一直紧紧联系在一起。“国家好,民族好,大家才会好”&#x…