如何 在一個工程中判斷一個子表單有沒有加載并處于顯示狀態
uj5u.com熱心網友回復:
'Form1,添加3個按鈕。
Option Explicit
Private Declare Function IsWindowVisible Lib "user32.dll" (ByVal hwnd As Long) As Long
Function CheckForm(ByVal FormName As String) As Long
Dim frm As Form
For Each frm In Forms
If frm.Name = FormName Then
Exit For
End If
Next
If frm Is Nothing Then
CheckForm = -1 '未加載
ElseIf IsWindowVisible(frm.hwnd) = 0 Then
CheckForm = 0 '不可見
Else
CheckForm = 1 '可見
End If
End Function
Private Sub Command1_Click()
MsgBox CheckForm("Form2")
End Sub
Private Sub Command2_Click()
Load Form2
Form2.Hide '<-如果是子表單,Load 后會自動顯示,強制隱藏。一般表單就是隱藏的。'
MsgBox CheckForm("Form2")
Unload Form2
End Sub
Private Sub Command3_Click()
Form2.Show
MsgBox CheckForm("Form2")
Unload Form2
End Sub
uj5u.com熱心網友回復:
得到FORM物件后,取他的windowsstate屬性。uj5u.com熱心網友回復:
WindowsState 是最大最小化狀態,和是否加載、顯示有什么關系?uj5u.com熱心網友回復:
弄個boolean變數,form_load里設定為true,unload時設定false......轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/96694.html
標籤:VB基礎類
上一篇:用OpenThread獲得的執行緒句柄怎么每次都不一樣?
下一篇:VB6.0 BQ聊天系統
