ライブポップアップメニューでのDelphiアプリケーションを最小化

StackOverflow https://stackoverflow.com/questions/1862597

  •  16-09-2019
  •  | 
  •  

質問

私はタイマーでこれを実行しようとしています:

Application.Minimize;
ShowWindow( Application.handle, SW_HIDE );

これは永遠にコードされて、私達はちょうどそれはあなたがアクティブなポップアップメニューを持っている場合、それはMDIの親ウィンドウを最小化していない動作しないことが発見されています。

私はこのコードを実行する前に、ポップアップ・メニューを閉じることができる場合、私は大丈夫でしょう把握します。問題は、このコードは、MDI親である、と私は、現在のポップアップメニューがある見当がつかない。それは別のフォームのツールバーの一部だ場合、それは問題ではありません、これは、ツールバー、右クリックまたはスペースバーの隣にその一見無意味なキーの製品を形成しています。

だから、私の全体のプログラムに積極的にポップアップメニューを非表示にする方法はありますか?

また、私はこの問題を回避ます最小限に抑えるために使っているものよりも、コードの優れた塊がありますならば、それはあまりにも素晴らしい情報があると思い。

役に立ちましたか?

解決

ポップアップメニューを閉じるには、使用することができます。

  if GetCapture <> 0 then
    SendMessage(GetCapture, WM_CANCELMODE, 0, 0);

あなたのコード内のフォームを最小化しようとする前に。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top