4

自分のバルーンフォームを使用するアプリケーションがあります。これは、境界のないfsStayOnTopの種類のフォームです。

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

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

今日、別のアプリケーションをアクティブにすると、バルーンが表示されないことに気付きました。だから、それはトップスタイルにとどまるのを失っています。

環境:Win7 / x64 Delphi 6 Professional

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

ありがとう:dd

4

2 に答える 2

5

過去にステイオントップフォームに苦労したときにうまくいったこと:

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また、ドキュメンテーションで呼び出す必要があると記載されている呼び出しが省略されているため、ハッキングのように感じられます (そのため、アプリケーション内の他のトップ ウィンドウが影響を受けます)。したがって、より良い解決策があるかもしれません。

于 2011-10-26T09:03:17.780 に答える