Delphi里用托盘图标的注意事项

Delphi XE10.4 TrayIcon托盘 一、加入TrayIcon 1、主窗体中放置 TrayIcon 控件( Additional 面板); 2、TrayIcon加入ICO文件; 3、设置TrayIcon.Visible 为 True 。 二、主窗体MainFrm处理 1、OnCreate 事件: TrayIcon1.Animate:=true; TrayIcon1.BalloonFlags := bfNone; // bfNone,bfInfo, bfWarning, bfError(默认,信息,警... 阅读详情

题外话,“托盘图标”这个词貌似非微软的官方术语,官方文档都叫Notify Icon,不过“世上本没有路,走的人多了,也便成了路”,所以说起Tray Icon,知道的人反而更多些。

  1. Main Form的WM_SYSCOMMAND消息这个要捕获,当WPARAM为SC_MINIMIZE时,表示用户点击了主窗口右上角的最小化按钮,这时隐藏主窗口并显示托盘图标,然后直接返回,否则应该用inherited关键字让默认的处理函数执行。
  2. 隐藏的Application窗口的WM_SYSCOMMAND消息也要捕获,同样WPARAM为SC_周MINIMIZE时,表示用户用鼠标右键点击了任务栏上程序窗口按钮时,在出现的系统菜单上选择了“最小化”;另外,用户按下Alt+Space组合键调出的主窗口系统菜单,其实是也是Application窗口的。(捕获这个消息可以用TApplicationEvents的OnMessage事件,同样的,当自己要处理的时候,令Handled这个var参数为True)。
  3. 通常要在主窗口的OnCloseQuery事件里,让用户关闭主窗口的行为变成最小化主窗口(因为很多人都觉得自己的程序是有史以来最牛逼的程序,舍不得被用户关掉)。
  4. 按惯例,右键单击托盘图标时应该出来Popup菜单,这个菜单里如果提供Exit选项,就应该直接关掉主窗口了,所以要通过某种方法(比如一个标志变量)让OnCloseQuery事件里的处理代码知道,现在是不是真的要关闭主窗口了。
  5. 程序退出时不要忘记把托盘图标清理了,不然就会留下一个尾巴——托盘图标还残留在那里,当用户将鼠标移到那个托盘图标时,它忽然就消失了。
Delphi 12.3下Jvcl源码编译与核心控件应用实战 在Delphi开发中,第三方组件库是扩展VCL功能、提升开发效率的关键。JEDI Visual Component Library (Jvcl) 作为社区驱动的开源库,通过提供大量增强控件和实用工具,弥补了官方VCL在深度和广度上的不足。其核心价值在于提供源代码,赋予开发者完全的调试、定制和适配新版本的能力,这对于长期项目维护和应对Delphi版本升级至关重要。在Delphi 12.3等新版本环境下,正确编译和配置Jvcl源码是首要步骤,涉及环境变量设置、编译脚本识别和依赖路径管理。成功部署后,其核心控件如 阅读详情

相关推荐

TMS VCL UI Pack 13.4.0.1 源码深度解析与实战指南

在桌面应用开发领域,用户界面(UI)的现代化和交互体验是提升软件价值的关键。VCL(Visual Component Library)作为Delphi和C++ Builder的核心框架,其原生控件在视觉表现和功能上有时难以满足现代需求。为此,UI增强控件库应运而生,它们基于继承和扩展机制,在不颠覆原有开发范式的前提下,为传统Win32应用注入扁平化设计、平滑动画和高级数据可视化能力,显著提升了开发效率和软件颜值。这类库的核心技术通常围绕皮肤引擎、动画系统和高性能渲染展开,通过模块化设计和良好的架构,支持从基

weixin_34348805的博客 404

delphi 关闭时缩小到托盘_delphi trayIcon控件,如何实现窗口最小化的时候到系统托盘?...

trayIcon控件,如何实现窗口最小化的时候到系统托盘?就象QQ的那样,一点最小化就到右下脚的图标里,点击右下脚图标,又能打开窗体。应该如何设置属性,或者事件呢?拜托各位大哥……指教一二unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs,...

weixin_39625975的博客 494

delphi下的7款TrayIcon组件

delphi下的7款ICON组件,必有一个可供你参考。

Delphi托盘类

托盘区就是在windows的状态栏下方显示时钟、输入法状态的地方, 要把你的程序显示在托盘区:下面是一个托盘类,只要把下面粘贴到文本文件中,改成TrayIcon.pas,使用时uses TrayIcon就可以了。 先声明一个全局变量:var tray:TTrayNotifyIcon; 然后在窗体的OnCreate事件中:tray:=TTrayNotifyIcon.Cre...

weixin_34233618的博客 206

trayicon控件,用于FMX的托盘显示

firemonkey框架fmx在windows系统上实现托盘效果

TrayIconDemo_delphi_icon_TrayIcon_

DELPHI TRAYICON DEMO实现TRAY ICON 窗体最小化到任务栏。

tTrayIcon

tTrayIcon TTrayIcon 的主要属性:TrayIcon.Icon指定托盘图标, 有几种用法:1、设计时选择;2、把一个 TIcon 对象给它;3、使用当前程序图标: TrayIcon1.Icon := Application.Icon;4、TrayIcon1.SetDefaultIcon; 这也是使用当前程序图标. TrayIcon.Icons 与 TrayIcon1....

anzhenzha0580的博客 478

投研必备工具:Wind(万得)数据库快速入门

Wind数据库对于金融从业者来说是必不可少的一个软件,本文主要介绍了股票和债券的信息查找,帮助后续对数据进行分析,开始学习吧!

weixin_56581108的博客 10万+

delphi写的服务程序Demo:掌握服务编程的绝佳示范

delphi写的服务程序Demo:掌握服务编程的绝佳示范 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在Windows操作系统中,服务程序是一种特殊类型的程序,它在后台运行,不显示图形用户界面,通常用于执行系统级任务。delphi写的服务程序Demo正是一个用Delphi语言开发的服务程序示例,该程序不仅实现了开机自启动功能,还提供了托盘图标以便用户进行交互。通过这...

gitblog_06724的博客 1009

改进爬山算法之六:随机重启爬山算法(Random-Restart Hill Climbing,RRHC)

随机重启爬山算法(Random-Restart Hill Climbing,RRHC)是爬山算法的一种改进策略,是一种启发式搜索算法,旨在通过随机重启来克服传统爬山算法容易陷入局部最优解的局限性,并增加找到全局最优解的概率。随机重启爬山算法通过在多次运行中不断尝试不同的初始解,并在每次运行中执行标准的爬山算法,最终选择所有运行中找到的最佳解作为最终结果。(1)计算复杂度:由于需要多次运行爬山算法,因此算法的计算复杂度可能较高,特别是在解空间较大或每次迭代需要较长时间的情况下。

搏博的专栏 2205

别再手动调参了!用BERTopic分析500篇论文摘要,我总结了这份超全参数调优指南

本文详细介绍了如何通过BERTopic参数调优从500篇论文摘要中挖掘高质量主题。从文档嵌入、降维到聚类,每个环节的关键参数设置都直接影响主题分析效果。文章提供了学术文本特有的调优技巧,包括预处理、主题多样性与专注度的平衡,以及评估指标与迭代优化方法,帮助研究者高效完成NLP主题分析任务。

weixin_31235909的博客 215

delphi 写的服务程序Demo

delphi 写的服务程序Demo 去发现同类优质开源项目:https://gitcode.com/ 此仓库包含了一个使用Delphi语言编写的服务程序示例,实现了开机自启动和托盘功能。 简介 本示例展示了如何利用Delphi编写一个服务程序,该程序能够在Windows操作系统启动时自动运行,并提供系统托盘图标以便用户交互。 功能 开机自启动:程序随系统启动自动运行。 托盘图标:在系统托盘区显示...

gitblog_06771的博客 377

单细胞分析(16)—— RNA Velocity 分析流程

RNA velocity 是一种强大的单细胞转录组分析工具,它可以预测细胞的未来状态,揭示发育轨迹,并用于探索细胞状态转换。RNA velocity 是一种通过单细胞 RNA 测序(scRNA-seq)数据推测细胞未来状态的分析方法。🚀**RNA velocity 提供了一个全新的角度来理解细胞的动态变化,为单细胞转录组分析带来了更深入的时空信息!

阅读文献,记录学习笔记 2979

3分钟学会使用USB-Disk-Ejector:Windows USB设备安全弹出终极指南

USB-Disk-Ejector是一款专为Windows用户设计的免费开源USB安全弹出工具,它彻底解决了传统"安全删除硬件"功能在USB设备管理中的各种痛点。这款轻量级程序能够快速、可靠地弹出USB磁盘、Firewire硬盘和记忆卡,提供了一种高效便携的替代方案,让设备安全管理变得前所未有的简单直观。 ## 🚀 为什么需要USB-Disk-Ejector? Windows自带的"安全删除硬

gitblog_00057的博客 363

把 ABAP 选择屏幕 Selection Screen 打造成可维护的交互面板:常用屏幕元素与动态控制全解析

本文详细介绍了ABAP报表中Selection Screen的设计技巧,包括空行(SKIP)、横线(ULINE)、注释(COMMENT)等基础元素的使用方法,以及如何通过MODIF ID实现动态界面调整。重点讲解了行内布局(BEGIN OF LINE)、按钮(PUSHBUTTON)和区块(BLOCK)等高级功能,帮助开发者将选择屏幕从"能用"提升到"好用、易扩展、可维护"的水平。文章还分享了项目实践中的命名规范和分组策略,特别适合需要优化ABAP报表用户体验的开发人员

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

华为OD机试 - 不含101的数(Python/JS/C/C++ 双机位C卷 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。小明在学习二进制时,发现了一类不含101的数,也就是:现在给定一个正整数区间,请问这个区间内包含了多少个不含101的数?输入的唯一一行包含两个正整数。输出的唯一一行包含一个整数,表示在区间内一共有几个不含101的数。8 1668 → “1000”

学Java,找哪吒 1250

Windows 10任务栏定制终极指南:打造个性化桌面体验

还在为Windows 10单调的任务栏而烦恼吗?想要让桌面焕然一新却不知从何下手?TaskbarDock正是为你量身打造的解决方案!这款开源工具能够帮助你轻松实现任务栏透明化、图标居中显示等个性化功能,让你的Windows 10桌面真正属于你自己。 ## 🎯 问题引入:为什么需要任务栏定制? 传统的Windows任务栏功能单一,缺乏个性化选项。你是否遇到过这些问题: - 任务栏遮挡了精美的

gitblog_00814的博客 998

【推荐100个unity插件之10】Unity Cinemachine最全的最详细的虚拟相机介绍,详细案例讲解,快速上手

相信很多同学都用过Unity的Cinemachine插件,使用它可以很方便地实现一些摄像机效果,比如摄像机追踪、推拉镜头、分镜等效果。Cinemachine的知识特别的多又很常用,本来是想做一期来讲一下的,结果搜索发现已经有人做过了,而且内容挺全的,但是内容可能比较啰嗦,还有部分没有补充,所以我就先转载下来,后续有时间再优化修改补充,觉得内容不错的,很欢迎大家去支持原作者。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2万+

如何用TaskbarDock打造终极Windows 10任务栏:个性化定制完整指南

TaskbarDock是一款专为Windows 10用户设计的免费任务栏增强工具,能够帮助你轻松实现任务栏图标居中、透明度调节等高级自定义功能,让桌面颜值瞬间提升! ## ???? 为什么选择TaskbarDock?核心功能亮点 TaskbarDock提供了多项实用功能,让你的Windows 10任务栏焕发新生: - **图标居中**:支持将任务栏图标相对于屏幕或自身区域居中,打造极简美学布局 ...

gitblog_00209的博客 1080

一张图看懂 ABAP CDS 两大子语言:CDS DDL 与 CDS DCL 以及缺席的 DML

ABAP CDS 的核心设计思想围绕语义数据模型(DDL)与数据访问控制(DCL)展开,而非单纯作为SQL查询工具。其DDL通过声明式语法定义业务导向的数据视图,强调模型稳定性与复用性;DCL则将访问控制逻辑下沉到模型层,实现行级权限过滤。ABAP CDS刻意剥离DML功能,交由ABAP SQL处理数据变更,形成清晰的分层架构。这种设计使数据定义、访问控制与应用逻辑解耦,为现代ABAP应用提供更安全、可维护的数据治理方案。

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

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

rxlib簡介

第三方元件简介--RXLib2.75这是有史以来最为经典、优秀的第三方免费元件集。它的很多优良的特性连专业的VCL元件制造厂商的产品都无法媲美。老一些的Delphi/C++Builder程序员都非常欣赏这一巨大的宝库,将这些元件用于大量的软件开发中。例如,经笔者调查,著名的Foxmail软件中就使用了RXLib元件(当然,Foxmail是Delphi开发的)。 这套元件是一套综合性元件

1107

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

USB-Disk-Ejector完整指南:3分钟掌握Windows USB安全弹出技巧

USB安全弹出是每个Windows用户都会遇到的问题,传统方式繁琐低效。USB-Disk-Ejector作为一款专业的Windows设备管理工具,彻底改变了这一现状。这款开源软件专注于USB设备安全弹出,支持USB磁盘、Firewire磁盘和存储卡的快速移除,是Windows系统"安全删除硬件"对话框的完美替代方案。无论是普通用户还是技术人员,都能从中获得极致的便捷体验。 ## 🚀 为什么选择

gitblog_00346的博客 242

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Java开发者本地部署Qwen 3.5大模型实战指南

大语言模型(Large Language Model)作为当前AI领域的重要技术,通过海量数据训练获得强大的自然语言处理能力。其核心原理是基于Transformer架构的深度神经网络,通过自注意力机制捕捉长距离语义关系。在工程实践中,本地化部署大模型能有效解决数据隐私和延迟问题,特别适合企业级应用开发。本文以阿里通义千问Qwen 3.5为例,结合Ollama模型管理工具和Spring Boot框架,详细讲解如何在Java生态中实现大模型的本地部署与集成。通过Spring AI组件,开发者仅需5行核心代码即可

注重长远 天天积累 cqujsjcyj 575

基于Docker一键部署魔兽世界1.18.1私服:从环境搭建到GM管理

容器化技术通过将应用及其依赖打包成标准单元,实现了环境隔离与快速部署,极大提升了软件交付的效率和一致性。其核心原理在于利用操作系统级虚拟化,为每个容器提供独立的运行环境。这一技术在DevOps、微服务架构和持续集成/持续部署(CI/CD)中具有重要价值,尤其适用于需要快速搭建、测试和销毁的复杂应用环境。在游戏开发与运维领域,容器化技术为搭建本地测试服务器提供了理想解决方案。本文聚焦于利用Docker容器化方案,解决传统游戏私服搭建中环境依赖复杂、配置繁琐的痛点,实现魔兽世界经典旧世版本的快速本地部署,涵盖从

weixin_30267785的博客 552
上一篇: 该死的shellext32.dll
下一篇: 动中有静,静中有动
SeaWave
博客等级 码龄27年 117粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值