Private Sub UserForm_Initialize()
Call fncHasUserformCaption(False)
End Sub
Private Sub cmdOn_Click()
Call fncHasUserformCaption(True)
End Sub
Private Sub cmdOff_Click()
Call fncHasUserformCaption(False)
End Sub
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong _
Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" ( _
ByVal hwnd As Long) As Long
Private Function fncHasUserformCaption(bState As Boolean)
Dim Userform_hWnd As Long
Dim Userform_Style As Long
Dim Userform_Rect As RECT
Const GWL_STYLE = (-16)
Const WS_CAPTION = &HC00000
Userform_hWnd = FindWindow( _
lpClassName:=IIf(Val(Application.Version) > 8, _
"ThunderDFrame", "ThunderXFrame"), _
lpWindowName:=Me.Caption)
Userform_Style = GetWindowLong(hwnd:=Userform_hWnd, _
nIndex:=GWL_STYLE)
If bState = True Then
Userform_Style = Userform_Style Or WS_CAPTION
Else
Userform_Style = Userform_Style And Not WS_CAPTION
End If
Call SetWindowLong(hwnd:=Userform_hWnd, nIndex:=GWL_STYLE, _
dwNewLong:=Userform_Style)
Call DrawMenuBar(hwnd:=Userform_hWnd)
End Function