DelphiまたはJavaでウィンドウを一番上に保つ

delphi java user-interface
DelphiまたはJavaでウィンドウを一番上に保つ

Delphiで他のすべてのウィンドウの上にウィンドウを保持することは可能ですか? たとえば、アプリケーションにエラーメッセージがある場合、ウィンドウを一番上に保ち、ユーザーが何か他の操作を行う前に何かをクリックする必要があることを確認するとします。 バックグラウンドで別のプログラムをクリックするなど、本当に意味があります。 そして、Javaではどうですか?

  0  0


ベストアンサー

No. MicrosoftのRaymond Chenが、http://blogs.msdn.com/b/oldnewthing/archive/2011/03/10/10138969.aspx [こちら]をご覧ください。 それの要点は、ウィンドウを一番上に維持しようとしても、他の誰かがいつでも同じことをすることができるということです。

6


昔はこれを行うことができました。 これはシステムモーダルダイアログと呼ばれ、現在廃止されている `SetSysModalWindow()`関数を使用しました。

Windows NTベースのバージョンのWindowsが引き継いだときに、彼らはまったく嫌悪感を抱いていたため、感覚と秩序が回復しました。

0


Delphiでは、 `FormStyle:= fsStayOnTop;`を実行できます。 これにより、すべての通常のウィンドウの前に表示されます。

ただし、そのスタイルが設定されている他のウィンドウ(タスクバーなど)がある場合、それらはあなたの前にある可能性があります。 特に、これらのウィンドウの中で、フォーカスを持つウィンドウが最も優先されます。

ウィンドウに常にフォーカスがあることを確認することができますが、それはめったに良いアイデアではありません。 そして、あなたはレイモンドのレイスを被ります。

階層化されたウィンドウを使用することもできます。 それらは通常の最前面の窓の前にあると思います。 しかし、これには深刻な副作用があり、おそらく正しい選択ではありません。

0


タイトルとURLをコピーしました