4

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

第一个按钮:

Frame11.Visible := true;

第二:

Frame11.Visible := false;

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

问题在于[tvAutoHide]TJvTrayIcon 的可见性。

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

感谢帮助!

4

1 回答 1

7

你是对的,在TJvTrayIcon. 当AnimateToTrayVisibility选项时,它不会恢复Application.ShowMainFormApplication.MainForm.Visible状态。它显示了窗口,但在您恢复它后,您的表单的“可见”仍然是错误的。这导致任何显示隐藏控件的尝试都失败了,因为它们的父控件似乎没有显示。

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

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

某处。为了快速测试,在您的 Button1 单击事件中显示框架之前。但是您可能希望在恢复主窗体后放置它,以免产生其他副作用。

于 2011-12-24T14:23:24.383 回答