2011-10-26 4 views
3

自分のバルーンフォームを使用するアプリケーションがあります。 これはボーダーで囲まれていないfsStayOnTop種類のフォームです。Delphi:Win7でfsStayOnTopが動作しないバルーンフォーム

私はそれがこのコードを示します:

ShowWindow(Handle, SW_SHOWNOACTIVATE); 
Visible := True; 

今日、私は別のアプリケーションを起動するならば、バルーンが表示されないことに気づきました! それはトップスタイルでの滞在を失っているので。

環境: Win7の/ x64の デルファイ6プロフェッショナル

私はそれで何ができますか?

ありがとう:DD

答えて

4

滞在オントップフォームで苦労する際、過去に私のために働いていた何を:

Form := TMyForm.Create(Self); 
Application.NormalizeTopMosts; 
SetWindowPos(Form.Handle, HWND_TOPMOST, 0, 0, 0, 0, 
      SWP_NOACTIVATE + SWP_NOMOVE + SWP_NOSIZE); 
Form.Show; 

ではなく、あなたのShowWindowコールのこれを試してみてください。これは、すべてウィンドウの上にとどまります(これは本当に必要ですか?)。また、ドキュメントでは電話をする必要があると言われているRestoreTopMostsコールが省略されているので、ハックのような気がします(アプリケーション内の他のトップ・オン・トップ・ウィンドウが影響を受ける)。したがって、よりよい解決策があるかもしれません。

関連する問題