4

フレーム、2つのボタン、およびJEDI TrayIcon(TJvTrayIcon、バージョン3.40)があります。DelphiXE。

最初のボタン:

Frame11.Visible := true;

2番:

Frame11.Visible := false;

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

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

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

手伝ってくれてありがとう!

4

1 に答える 1

7

そうです、にバグがありTJvTrayIconます。AnimateToTrayがオプションにある場合Visibility、復元されずApplication.ShowMainFormApplication.MainForm.Visible状態になります。ウィンドウは表示されますが、フォームを復元した後も、フォームの「Visible」はまだ false です。親が表示されていないように見えるため、非表示のコントロールを表示しようとすると失敗します。

バグを修正することは、この回答の範囲を超えています。回避策として、次のように入力します。

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

どこか。簡単なテストとして、フレームを表示する前に Button1 クリック イベントを実行します。ただし、他の副作用がないため、メインフォームが復元された後に配置する必要があります。

于 2011-12-24T14:23:24.383 に答える