喫茶XRAYトップページ

[スレッド全体
]

[10982] TOPMOSTのウィンドウとは返信 削除
2017/3/29 (水) 10:22:16 Mr.XRAY
TOPMOST を指定したウィンドウは,他のウィンドウよりも常に前面に表示されます.
あるウィンドウを常に最前面に表示したい時に使用します.
SetWindowPos 関数を使用すると,そのようなウインドウにできます.

https://msdn.microsoft.com/ja-jp/library/cc411206.aspx

下の図で,一番手前に表示されているのが,TOPMOST のウインドウです.
その下のウィンドウをアクティブにしていますが,TOPMOST のウインドウが
最前面に表示されています.

Delphi では SetWindowPos 関数を使用しなくても,フォームの FormStyle プロパティの
値で設定できます.
画面上で表示されている順序を Z オーダといいます.
画面は平面ですが X, Y でなく,Z 軸のオーダというわけです.

[Vcl.Forms.TCustomForm.FormStyle]
http://docwiki.embarcadero.com/Libraries/Seattle/ja/Vcl.Forms.TCustomForm.FormStyle



[10983] Re:TOPMOSTのウィンドウとは返信 削除
2017/3/29 (水) 12:21:49 Mr.XRAY
> TOPMOST を指定したウィンドウは,他のウィンドウよりも常に前面に表示されます.
> あるウィンドウを常に最前面に表示したい時に使用します.


どういう時に TOPMOST にするかと言うと,
「お前ら俺より前に出るんじゃない !!」
という時ですね.なんて.

TOPMOST のウィンドウから別のウィドウを起動した時,
TOPMOST より前に表示するには,起動するウィンドウを TOPMOST にします.
その時使用するのが SetWindowPos 関数です.

すると,TOPMOST のウィンドウが 2 つになります.
これらのウィンドウはどちらも前面に表示できるようになります.


UP したサンプルでは,起動済みのブラウザに表示する時,
別のタブで表示します.
これを,現在表示中のタブに表示するのは簡単ではありません.
ブラウザの操作が必要です.
ブラウザの操作はブラウザによって違います.

IE であれば,IE のオブジェクトを生成して,ある程度の操作が可能です.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82