delphi 添加系统菜单,点击新菜单没有反应的问题

Delphi7使用控件CoolTrayIcon时如何做到程序启动就最小化到托盘 学习Delphi时,使用了第3方控件CoolTrayIcon。CoolTrayIcon的功能很强大,能够将程序添加进托盘,省去了我们再编写代码来实现托盘。但是在看搜CoolTrayIcon的时候,发现好多朋友在求如何让程序在启动就最小化多托盘的方法。但是貌似都不曾成功过。笔者摸索了一下,成功实现了。 首先我们来看一下CoolTrayIcon的功能函数:根据CoolTrayIcon的使用实例来看, 阅读详情
 
program Psysmenu;
uses
  Forms,
  Sysmenu in '\SYSMENU.PAS' {Form1};

{$R *.RES}
begin
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

unit Sysmenu;

interface
uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, 
  Graphics, Controls,Forms, Dialogs;
type
  TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
  private
      procedure  user_sysmenu(var msg:twmmenuselect);
                               message wm_syscommand;

  public
        { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}

procedure  TForm1.user_sysmenu(var msg:TWMMENUSELECT);
begin
   if msg.iditem=100 then
      showmessage('     响应系统菜单!')
      { 也 可 以setwindowpos()来实现处于最前端功能}
   else
      inherited;     { 作缺省处理,必须调用这一过程}
end;

procedure TForm1.FormCreate(Sender: TObject);
   var hmenu:integer;
begin
   hmenu:=getsystemmenu(handle,false);
   {获取系统菜单句柄}
   appendmenu(hmenu,MF_SEPARATOR,0,nil);
   appendmenu(hmenu,MF_STRING,100,'加入系统菜单');
   {加入用户菜单}
end;
end.
 
//出错的主要原因是:缺少一句代码   message wm_syscommand;  
//这句代码的主要作用是:A window receives this message when the user chooses a commond from the window menu.
//而如果注释了inherited ,则所有系统菜单都不能用。
基于Delphi的全面客户关系管理(CRM)系统设计与实现 也许你会问:都2025年了,干嘛还要用 Delphi?答案很简单:因为它真的好用。开发效率高:可视化设计 + 强类型语言 + 成熟组件库,一周做出 MVP 不是梦;性能强劲:原生编译,启动快、响应快、内存占用低;维护成本低:结构清晰、代码规范、文档齐全;生态成熟:VCL、FireDAC、ReportMachine、Indy 等组件覆盖几乎所有需求;长期可用:Embarcadero 持续更新,支持最新操作系统和硬件。 阅读详情

相关推荐

Delphi环境下GIS系统开发全套实战项目

说到GIS开发,大家第一反应往往是Python + GDAL/OGR、JavaScript + Leaflet/OpenLayers,或者是C++集成QGIS库。这些方案当然强大,但也各有局限:Python脚本灵活,但性能瓶颈明显,尤其面对海量矢量数据;Web前端体验好,但受限于浏览器沙箱,难以发挥本地硬件性能;C++性能无敌,但开发效率低,跨平台部署复杂。而Delphi呢?它像一位低调的实力派选手——

weixin_28729843的博客 330

Dialog中的gridView点击事件没反应

经排查是item的Button原因 解决: button换成TextView

xiyangyang8110的博客 312

TRichView v23.0.1适配Delphi 13 Florence深度解析

富文本编辑控件是Delphi桌面应用开发的核心基础设施,其设计时集成能力直接决定开发效率与项目稳定性。TRichView作为成熟VCL/FMX富文本解决方案,其版本兼容性问题长期困扰开发者——尤其在IDE架构升级(如Delphi 13 Florence)后,常出现‘每次进入IDE都丢失控件’‘保存后还是那样’等典型设计时故障。这本质源于组件注册机制、DFM序列化逻辑及DPI渲染层与新IDE服务(如IDEServices)的不匹配。v23.0.1通过源码级重构注册流程、条件编译适配VER350、强化元数据序列

weixin_33862993的博客 405

Delphi编程:Window消息大全使用详解(2)

WM_INITMENUPOPUP = $0117;  当一个下拉菜单或子菜单将要被激活时发送此消息,它允许程序在它显示前更改菜单,而不要改变全部  WM_MENUSELECT = $011F;  当用户选择一条菜单项时发送此消息给菜单的所有者(一般是窗口)  WM_MENUCHAR = $0120;  当菜单已被激活用户按下了某个键(不同于加速键),发送此消息给菜单的所有者;  WM_ENTERI

zwylly99的专栏 808

Delphi 11-13嵌入HTML渲染实战:控件安装、交互与避坑指南

HTML渲染组件为Delphi开发者提供了一种在原生VCL界面中嵌入现代网页技术的路径。其核心原理是通过独立渲染引擎(如基于WebView2的实现)替代老旧的IE内核,让HTML、CSS、JavaScript与Delphi事件模型深度互通,从而实现原生窗体与Web UI的混合开发。这一技术价值在于,复杂数据报表、KPI仪表盘等传统控件难以高效实现的场景,如今只需维护一套HTML模板,由Delphi端注入数据即可快速迭代。在ERP、MES、设备管理及PDA触屏等桌面应用中,尤其适用。本文针对Delphi 11

weixin_33981932的博客 367

Delphi三方控件安装排障指南:从控件丢失到环境稳定配置

在组件化开发中,第三方控件库是提升效率的重要工具,但管理不善常引发环境冲突。Delphi开发者经常面临控件丢失、版本不匹配、IDE注册异常等问题,其根源往往在于编译版本与当前IDE环境不一致、注册表残留或路径配置错误。理解组件从安装、注册到运行期加载的底层原理,是解决这些问题的关键。在实践层面,无论使用ODAC连接Oracle数据库、EHLib增强表格展示,还是通过FireMonkey实现PDA扫码、借助ActiveX控件完成浏览器交互,都需遵循版本匹配与路径隔离原则。本文从通用组件管理概念切入,结合具体应

weixin_30235225的博客 350

Delphi 菜单的应用(系统菜单添加一项、主菜单增加历史记录、弹出菜单的动态合并、菜单中画图、显示状态)

知识简介:       Windows菜单可以分为系统菜单、主菜单、弹出菜单三种。 一、往系统菜单中添加菜单项 //1、在FormCreate中往系统菜单中添加自己的菜单 procedure TForm1.FormCreate(Sender: TObject); var

xiongmao000738 4300

Delphi打开外部程序、把菜单加入系统菜单中

内容索引:Delphi源码,系统相关,开始菜单  Delphi打开外部已开启的应用程序,比如打开计算器应用程序,WinExec(Pchar('C:\Windows\calc.exe'), SW_NORMAL) ;   Delphi把自己的菜单项加入系统菜单, 要解决这个问题,有两个工作要做:   Ⅰ:如何把用户菜单项加入系统菜单,   Ⅱ:如何才能响应这一菜单项。   解决问题Ⅰ:首先需要获取系统菜单的句柄,这一点可用API函数getsystemmenu()来获取,有了系统菜单句柄,用API函数appendmenu()向系统菜单中加入用户菜单选项了。   解决问题Ⅱ:需要重载WM_SYS

delphi 应用程序工厂_如何在Delphi应用程序中显示菜单项提示

delphi 应用程序工厂 Use specific coding language to program Delphi applications to display a hint, or tooltip, when the mouse hovers over a menu component. If the "ShowHint" property is set to "true" and yo...

cumao2792的博客 521

Delphi 在系统默认的窗口菜单中添加自定义菜单项

摘要:Delphi源码,界面编程,自定义菜单 Delphi在系统默认的窗口菜单中添加自定义菜单项,在窗体标题栏的右键菜单中添加自定义菜单,这个源码功能主要是演示这一功能如何实现,超简单,面向Delphi的基础学者。 运行环境:Windows/Delphi7

Delphi在窗体标题栏上添加自定义菜单项

内容索引:Delphi源码,界面编程,菜单  Delphi小实例,在窗体标题栏上添加自定义菜单项,如果看懂本示例的话,添加无限制的菜单就很容易,不过这种用法不多见哦,有兴趣的下载一看。

Delphi7的IDE概述(二)

环境选项最近的许多更新与通常使用的环境选项对话框(Environment Options dialog box)有关。 此对话框的选项页在Delphi 6中被重新整理,将 Form Designer 选项从Preferences页移到了新的Designer页。§  环境选项对话框的Preferences页有一个check box ,此check box阻止Delphi窗口自动相互停靠。

cwxiao888的专栏 1799

DAIC-WOZ抑郁数据集实战:从申请到特征提取的全流程避坑指南

本文详细解析了DAIC-WOZ抑郁数据集从申请到特征提取的全流程,提供了实用的避坑指南和代码模板。涵盖数据获取技巧、多模态特征工程(面部动作单元、音频特征、文本处理)以及样本不平衡解决方案,帮助研究者高效处理这一经典抑郁分析数据集。

weixin_29196315的博客 171

Delphi使用CEF4Delphi制作Chromium谷歌内核浏览器

Delphi使用CEF4Delphi制作Chromium谷歌内核浏览器 2018年07月12日 22:51:25 shanchahua123456 阅读数:4509 什么是CEF4Delphi? CEF4Delphi是由Salvador Díaz Fau创建的一个开源项目,用于在基于Delphi或Lazarus/FPC的应用程序中嵌入基于谷歌内核 查看更多关于 内核 的文章 (Chrom...

Golden_soft的专栏 3237

Xiaojie雷达之路---使用CCS创建一个毫米波雷达的工程(AWR1843)

前些天,在工具箱中下载了一个基于毫米波雷达(AWR1843)自动停车的案例,并成果导入CCS中,可以完美运行,但是如何新建一个新的工程呢?这篇文章就会对其进行讲述。

XiaoJie的博客 4549

AI系统架构设计实战:AI应用架构师的深度指南

核心概念:AI系统架构是指设计和组织人工智能系统各个组件(包括数据、算法、计算资源、集成接口等)的结构框架,以及这些组件之间的交互方式和原则。它为AI应用提供了技术蓝图,决定了系统的性能、可扩展性、可维护性和可靠性。数据的本质:数据是对客观事物的符号表示,是可识别的、抽象的符号。在AI系统中,数据不仅是输入,也是系统学习和改进的基础。数据就像AI系统的"燃料",其质量和数量直接决定了AI系统的能力边界。

AI天才研究院 1198

Delphi与Windows 7下的用户账户控制(UAC)机制(加小盾牌),注册表没反应

WIN7, Vista提供的UAC机制,它的主要目的是防止对于操作系统本身的恶意修改。 对于Delphi程序的影响,UAC主要在于以下几点: 1、由于UAC机制,Delphi对于系统的操作可能无声的失败,而同样的程序,在2000/X下面可能运行正常。譬如注册表的改动。。。 2、为了避免这样的情况,Delphi程序必须支持Vista UAC标注,也就是说,在UAC程序的图标下面显示盾牌标志。这

小果果 922

【知识图谱】实践篇——基于知识图谱的《红楼梦》人物关系可视化及问答系统实践:part2知识获取与图谱构建、服务搭建

前序文章:其中原项目提供了关系数据如下: 其中五列数据表示:人物1,人物2,人物1与人物2关系,人物1所属家族,人物2所属家族。关系说明:以第一列为例,贾演是贾代化的父亲。下面我们就将这个数据放到neo4j中。这些需要去连接,需要安装这个包: 程序中,我使用去读取配置文件, 其中为了保持配置全局唯一性,使用单例的写法。 后面就是创建构建关系文件,构建neo4j图谱数据了,如下: 后期可能会将构建图谱内容使用flask去生成命令行的方式构建,暂时在开发的过程查看构建情况,便于调试。导入关系后,我们再查看

让算法融入生活,改变生活! 4080

Delphi的一些初级小笔记

COOLBAR内嵌TOOLBAR,但是TOOLBAR的按钮偏上的解决办法:把COOLBAR的COOLBAND的BORDERSTYLE设为SINGLE。另外,如果想把主菜单弄到TOOLBAR里面,只要把TOOLBAR的MENU设为主菜单名,并把主菜单的AUTOMERGE设为TRUE即可。------------------------------------listbox从文件中读取列表的操作Lis

hlms的专栏 1617

不藏了!Wireshark 命令、捕获、过滤器大全分享给你

Wireshark,这款广受欢迎的开源网络协议分析工具,堪称网络管理员、网络安全专家和网络爱好者的“显微镜”!它可以帮助我们捕获网络中的数据包,并提供详细的解码和分析能力。本文将为您全面剖析 Wireshark 的强大功能,从基础到高级,让你快速掌握这个神器!💡Wireshark 是一款功能强大的网络协议分析器,最早由 Gerald Combs 于 1998 年开发,经过多年发展,已成为网络诊断和分析的首选工具。

网络技术联盟站 725

玩转Docker小游戏项目系列: Docker部署中国象棋网页小游戏

玩转Docker小游戏项目系列: Docker部署中国象棋网页小游戏

jks212454的博客 439

Vista安装心得及Delphi兼容问题

  最近在家里的机器装了Vista,在该操作系统上安装了Delphi7,安装的过程没有发生什么意外情况,看到网上有很多人在问Vista下能不能装Delphi7的问题,现在本人可以很负责地说:完全没有问题。但是在安装有些软件时,还是出现了问题,在此啰嗦一下,首先不知道什么原因,Oracle 11g是装不上的,老师包什么Java错误,不过这个问题在XP上也出现了,所以不能算是Vista的问题,

SeaverDing的专栏 2008

Android 11多窗口+分屏+APP窗口嵌套TaskView实现原理一

然而随着版本的迭代升级,google对分屏的定制差异化也越来越大,Androd 11的分屏用的是split-screen-primary和split-screen-secondary的方式,在systemui中去实现的,其定制化的灵活度不是很高,很多业务都是放到sustemui或者fw去实现,但是随着版本的升高,后面出现了TaskView来替代了老版本的分屏方式,但是Task的核心原理其实和之前的方式是一样的,TaskView来实现分屏。

qq_18420641的博客 2614

Delphi的三层开发初学经验

在数据库开发方面Delphi相对于其他众多开发工具其优势在于灵活快速,且十分稳定。本实例使用Remote DataModule(远程数据模块)创建。 服务端:   首先让我们来编译服务器端,打开Delphi7,     选择File菜单,New-> application,创建一个新窗体form1。   选择File菜单 -> New -> Other-> Multitier -> 选择R

七级风科技 2490

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: 使用 SQL Server 事件探查器的方案
下一篇: 带历史信息的菜单
吾日三省-
博客等级 码龄17年 41粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值