ウィンドウを常に前面に表示

<常駐アプリなどに使えます>

宣言(準備としてまず次のMciSendStringの宣言を追加します)

(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)

※Privateは必要に応じて削除またはPublicに変更

引 数 説 明

hWnd

Long(HWND)

再配置するウィンドウハンドル

hWndInsertAfter

Long

Z順序のハンドル(今回は-1(トップにする))

x

Long

ウィンドウの新しいx座標(今回は0)

y

Long

ウィンドウの新しいy座標(今回は0)

cx

Long

ウィンドウの新しい幅(今回は0)

cy

Long

ウィンドウの新しい高さ(今回は0)

wFlags

Long

変更内容を示す定数 (今回は&H43(ウィンドウ表示+位置、大きさ変更なし))


※必ずしもhWndInsertAfter,x,y,cx,cyを指定する必要はありません。必要なものだけ指定すればOKです。

サ ン プ ル プ ロ グ ラ ム

プログラムを張りつけ実行するとフォームを常に前面に表示します。

動作確認:Visual Basic 5.0,Windows98

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)

Private Sub Form_Load()
SetWindowPos Form1.hwnd, -1, 0, 0, 0, 0, &H43
End Sub

トップに戻る
Visual Basicワンポイントテクニック目次に戻る

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル