Delphi当中,捕捉最小化事件并且隐藏到托盘
首先,捕捉窗体的最小化事件只能通过消息WM_SYSCOMMAND,代码如下:
在声明处:
函数的实现:
隐藏到托盘,除了一般的使用控件TTrayIcon以外,需要注意的是,一,用hide()方法,或者SW_HIDE参数的ShowWindow;二,就是必须把CmdType修改掉,用SC_DEFAULT或者SC_CONTEXTHELP都可以,但是就不能用SC_MINIMIZE,至于SC_MAXMIZE等我就没试过了,不过想想肯定不行。
不修改而是仍然使用SC_MINIMIZE会出现的现象是,窗体隐藏,任务栏上的标签页消失掉了(正常),然后任务栏的标签会重新冒出来,但是此时点击任务栏标签,窗体是不会出现的。原因应该是首先调用Hide()方法,所以出现了正常的情况,然后inherited调用系统对最小化的处理把标签在任务栏上给画了出来。又由于窗体已经被隐藏,所以又无法显示。
[原文在百度空间已经关闭]
标签集合/Tag clouds
C++
Symbain
轻松汇编
算法
论文学习
资治通鉴
Delphi
编程之美
Poco
MFC
Linux
IFC
知乎
汇编
数据分析
交叉编译
poco
j2me
android
XML
Java
DTD
飞信
零宽断言
诺基亚
联系人
编程
真值表
池西木
正则表达式
多线程
命令行
优化
stream
configure
cmake
VIM
UiAutomator
TDD
Symbian
Sqlite
SourceInsight
Python
MPAndroidChart
Kotlin
Flutter
Dokka
Chatgpt