我有一个框架,两个按钮和一个JEDI TrayIcon(TJvTrayIcon,版本3.40).德尔福XE. 第一个按钮: Frame11.Visible := true; 第二: Frame11.Visible := false; 当我尝试最小化窗口时 – 从系统托盘恢复 – 单击“
第一个按钮:
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单击事件中进行.但是你想在主表格恢复之后把它放在没有其他副作用的地方.