ab.com コミュニティ
https://www.activebasic.com/forum/

最前面ウインドウか調べる
https://www.activebasic.com/forum/viewtopic.php?t=2491
ページ 11

作成者:  rest [ 2008年11月01日(土) 11:42 ]
記事の件名:  最前面ウインドウか調べる

ウインドウが最前面化されているか取得するには
どうすればいいのですか?
最前面化は簡単に出来るのですが。
どなたか教えてください。

作成者:  NoWest [ 2008年11月01日(土) 17:40 ]
記事の件名:  Re: 最前面ウインドウか調べる

引用:
> ウインドウが最前面化されているか取得するには
> どうすればいいのですか?
> 最前面化は簡単に出来るのですが。
> どなたか教えてください。
確実に行くなら、
最前面ウィンドウかどうかを調べたいウィンドウの拡張スタイルを調べます。
もし、調べたいウィンドウのハンドル値がhwndだとすると
コード:
Dim ex_style As DWord
ex_style = GetWindowLong(hwnd,GWL_EXSTYLE)
あとは取得した拡張スタイルにWS_EX_TOPMOSTが含まれているかを調べます。
コード:
If ex_style And WS_EX_TOPMOST Then
'最前面ウィンドウであった場合の処理

Else
'最前面ウィンドウでなかった場合の処理

End If

ちなみに最前面ウィンドウの解除も上の手順の反対を行えばできます。
コード:
Dim ex_style As DWord
ex_style = GetWindowLong(hwnd,GWL_EXSTYLE)
ex_style = ex_style And (Not(WS_EX_TOPMOST))
SetWindowLong(hwnd,GWL_EXSTYLE,ex_style)

作成者:  rest [ 2008年11月05日(水) 20:59 ]
記事の件名:  ありがとうございます

教えていただき、ありがとうございます。
ActiveBasicは少し前に始めたばかりなのでよく分かりません。
今後も、わからない事があったら、質問させていただきます。

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/