|
◆説明◆
|
|
ウインドウを最前面に表示するサンプルです。詳細は、サンプルソースをダウンロードし、確認して下さい。
|
◆VBの場合◆
|
|
' 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
' 1. WIN32API・構造体を定義
' 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
' ★★★ サイズ、位置、Zオーダーを変更する関数の定義
Private Declare Function SetWindowPos Lib "user32" ( _
ByVal hWnd As Long, ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, _
ByVal cx As Long, ByVal cy As Long, _
ByVal wFlags As Long) As Long
' ★★★ 最前面に表示する設定用の定数の定義
Private Const HWND_TOPMOST = &HFFFF
' ★★★ サイズを変更しない設定用の定数の定義
Private Const SWP_NOSIZE = &H1
' ★★★ 位置を変更しない設定用の定数の定義
Private Const SWP_NOMOVE = &H2
' 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
' 2. 指定のウインドウを最前面に表示する関数を定義
' 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
Public Sub SetTopMost(hWnd As Long)
' ★★★ ウインドウを最前面に表示
Call SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, _
SWP_NOMOVE Or SWP_NOSIZE)
End Sub
|
◆VC++の場合◆
|
|
// ★★★ ウインドウを最前面に表示
// (CWndクラスのメンバ関数のSetWindowPosを使用した例です)
SetWindowPos(&wndTopMost, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE);
// Win32APIのSetWindowPosを使用する場合は、以下のように
// 第一引数にウインドウハンドル(hWnd)を指定して下さい。
// SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0,
// SWP_NOMOVE | SWP_NOSIZE);
|
|