我有一个框架,两个按钮和一个 JEDI TrayIcon (TJvTrayIcon,版本3.40)。德尔福XE。
第一个按钮:
Frame11.Visible := true;
第二
Frame11.Visible := false;
当我尝试最小化窗口时 - >从系统托盘恢复 - >单击“Visible:= false”按钮,然后“Visible:= true”=框架不会出现。
问题出现在TJvTrayIcon的可见性[tvAutoHide]
中。
我在新项目中没有看到这个问题,但我有一个旧项目。我无法理解它为什么会发生以及如何防止它。 请参阅我的问题项目:http://www.filedropper.com/trayicon
感谢您的帮助!
答案 0 :(得分:7)
你是对的,TJvTrayIcon
中有一个错误。当AnimateToTray
位于Visibility
选项中时,它不会还原Application.ShowMainForm
和Application.MainForm.Visible
个州。它显示窗口,但恢复后窗体的“可见”仍为false。这导致任何显示隐藏控件失败的尝试,因为他们的父级似乎没有显示。
修复错误超出了本答案的范围。对于解决方法:
Application.ShowMainForm := True;
Visible := True;
某处。要快速测试,请在显示框架之前在Button1单击事件中进行。但是你想在主表格恢复之后把它放在没有其他副作用的地方。