2011-12-24 6 views
4

私はフレーム、2つのボタンとJEDI TrayIcon(TJvTrayIcon、バージョン3.40)を持っています。 Delphi XE。Delphi:JEDI TrayIconはすべてのフレームを非表示にします。バグ

最初のボタン:

Frame11.Visible := true; 

第二:

Frame11.Visible := false; 

私はウィンドウを最小化しようとする - >システムトレイから復元 - > "可視:= false" のボタンをクリックし"Visible:= true" =フレームは表示されません。

問題がTJvTrayIconの可視性の[tvAutoHide]にあります。

私はこの問題は新しいプロジェクトでは表示されませんが、古いプロジェクトではあります。私はそれがなぜ起こるのか、そしてそれを防ぐ方法を理解できません。 私の問題プロジェクトを参照してください:http://www.filedropper.com/trayicon

ありがとうございました!

+1

私がこれを解決しようとしていたら、プログラムが動作するまで少しずつコードを削除します。それは問題コードを特定するでしょう。これをやってみることができますか? –

+0

もちろん、私はすべてを削除しました。私のコードを確認してください、何もありません。 – maxfax

+0

OKなので、コードのどの部分がコードの動作と動作の違いになりますか? –

答えて

7

あなたはそうです、TJvTrayIconにバグがあります。 AnimateToTrayVisibilityのオプションにある場合、Application.ShowMainFormApplication.MainForm.Visibleの状態は復元されません。ウィンドウが表示されますが、フォームを復元した後もフォームに「Visible」が表示されます。親がのように隠れているコントロールを表示しようとする試みは、一見するとが表示されません。

このバグの修正は、この回答の対象外です。回避策を入力するには:

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

どこかに入力してください。クイックテストの場合は、フレームを表示する前にButton1のclickイベントに入れます。しかし、他の副作用がないためにメインフォームが復元された後に入れたいと思うでしょう。

関連する問題