指定されたウィンドウの表示状態を調べる <TOP>
指定したウィンドウが表示されているかどうかを調べます。
IsWindowVisible 指定されたウィンドウの表示状態を調べる
テスト例では、ウィンドウ(Form2)を意識的に表示/非表示させ、IsWindowVisibleの結果を確認しています。
'================================================================ '= 指定されたウィンドウの表示状態を調べる '= (IsWindowVisible.bas) '================================================================ #include "Windows.bi" ' 指定されたウィンドウの表示状態を調べる Declare Function Api_IsWindowVisible& Lib "user32" Alias "IsWindowVisible" (ByVal hWnd&) Var Shared Button1 As Object Var Shared Button2 As Object Button1.Attach getDlgItem("Button1") : Button1.SetFontSize 14 Button2.Attach getDlgItem("Button2") : Button2.SetFontSize 14 Var Shared Form2 As Object Var Shared FLG As Integer '================================================================ '= '================================================================ Declare Sub MainForm_Start edecl () Sub MainForm_Start() If Not (CheckObject(Form2)) Then Form2.CreateWindow "Form2", -1 End If End Sub '================================================================ '= Form2の表示/非表示 '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() FLG = 1 - FLG If FLG = 0 Then Form2.ShowWindow -1 Else Form2.ShowWindow 0 End If End Sub '================================================================ '= Form2の表示状態を知る '================================================================ Declare Sub Button2_on edecl () Sub Button2_on() Var Ret As Long Ret = Api_IsWindowVisible(Form2.GethWnd) If Ret <> 0 Then A% = MessageBox("Form2", "Visible", 0, 2) Else A% = MessageBox("Form2", "No Visible", 0, 2) End If End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End