VB6フォームを常に最前面に表示する

スポンサーリンク

VB6 では、Win32API の SetWindowPos 関数を使用します。使用するには SetWindowPos 関数を宣言する必要があります。

サンプルコード

以下にサンプルコードを示します。

VB6.0 以前
Option Explicit

' SetWindowPos 関数
Private Declare Function SetWindowPos Lib "USER32.DLL" ( _
    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   As Long = -1     ' 最全面に表示する
Private Const HWND_NOTOPMOST As Long = -2     ' 最前面に表示するのをやめる
Private Const SWP_NOSIZE     As Long = &H1    ' サイズを変更しない
Private Const SWP_NOMOVE     As Long = &H2    ' 位置を変更しない
VB6.0 以前
    ' このフォームを常に最前面に表示する (サイズと位置は変更しない)
    Call SetWindowPos(Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)

    ' 解除したい場合
    Call SetWindowPos(Me.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)

関連するリファレンス

準備中です。

スポンサーリンク