戻る

フォーカスを失わずに他のフォームを表示する方法 (API関数 ShowWindow の使用例)
動作環境 Windows95/98 開発環境 Visual Basic 6.0 (+SP3)
説明 API関数 ShowWindow を使用して、フォーカスを失わずに他のフォームを表示します。
用意するもの:標準フォーム(Form1, Form2)、コマンドボタン(Command1)

'注:以下のコードを全てForm1に記述してください。

'変数の明示的な宣言を強制します。
Option Explicit

'API関数 ShowWindow の利用を宣言します。
Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
'第1引数:操作対象とするウインドウのウインドウハンドル
'第2引数:表示方法を指定する定数(今回使用するのは"SW_SHOWNA")

'API関数 ShowWindow の第2引数に指定する定数を定義します。
'(アクティブなウィンドウはその状態を維持したまま、
' 指定のウィンドウを現在の状態で表示させます。)
Private Const SW_SHOWNA = 8

Private Sub Command1_Click()
'API関数の戻り値を定義します。(今回は戻り値を考慮しません)
Dim ret As Long
ret = ShowWindow(Form2.hwnd, SW_SHOWNA)
End Sub