当前位置 : 主页 > 编程语言 > delphi >

德尔福:JEDI TrayIcon隐藏所有帧.窃听器

来源:互联网 收集:自由互联 发布时间:2021-06-23
我有一个框架,两个按钮和一个JEDI TrayIcon(TJvTrayIcon,版本3.40).德尔福XE. 第一个按钮: Frame11.Visible := true; 第二: Frame11.Visible := false; 当我尝试最小化窗口时 – 从系统托盘恢复 – 单击“
我有一个框架,两个按钮和一个JEDI TrayIcon(TJvTrayIcon,版本3.40).德尔福XE.

第一个按钮:

Frame11.Visible := true;

第二:

Frame11.Visible := false;

当我尝试最小化窗口时 – >从系统托盘恢复 – >单击“Visible:= false”按钮,然后“Visible:= true”=框架不会出现.

问题在于TJvTrayIcon的Visibility的[tvAutoHide].

我没有在一个新项目中看到这个问题,但我有一个旧项目.我无法理解它为什么会发生以及如何防止它.
请看我的问题项目:http://www.filedropper.com/trayicon

感谢帮助!

你是对的,TJvTrayIcon中有一个错误.当AnimateToTray位于“可见性”选项中时,它不会还原Application.ShowMainForm和Application.MainForm.Visible状态.它显示窗口,但恢复后窗体的“可见”仍为false.这导致任何显示隐藏控件失败的尝试,因为他们的父母似乎没有显示.

修复错误超出了这个答案的范围.对于解决方法:

Application.ShowMainForm := True;
Visible := True;

某处.要快速测试,请在显示框架之前在Button1单击事件中进行.但是你想在主表格恢复之后把它放在没有其他副作用的地方.

网友评论