Um eine Userform zu fixieren
ben�tigt man eine API-Routinen
Dies funktioniert �ber das Handle der Userform.
Da es hierf�r keine Eigenschaft gibt, wie es im reinen Visual
Basic
der Fall ist (.hwnd), muss man sich mittels FindWindow und
der UserForm-Caption helfen:
Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function GetSystemMenu Lib "user32" _
(ByVal hWnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" _
(ByVal hMenu As Long, ByVal nPosition As Long, _
ByVal wFlags As Long) As Long
Private Sub FixWindow(hWnd As Long)
Dim SysMenu As Long
Dim Ret As Long
SysMenu = GetSystemMenu(hWnd, False)
Ret = RemoveMenu(SysMenu, &HF010&, &H0&)
End Sub
Private Sub UserForm_Activate()
FixWindow FindWindow(vbNullString, Me.Caption)
End Sub
|