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

时间:2011-12-24 10:58:51

标签: delphi frames trayicon jedi

我有一个框架,两个按钮和一个 JEDI TrayIcon (TJvTrayIcon,版本3.40)。德尔福XE。

第一个按钮:

Frame11.Visible := true;

第二

Frame11.Visible := false;

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

问题出现在TJvTrayIcon的可见性[tvAutoHide]中。

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:7)

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

修复错误超出了本答案的范围。对于解决方法:

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

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