Was ist hWnd?

bigb702

Grünschnabel
Hallo!

Ich brauche ine Funktione, die mir den Close Button aus dem Fensterrahmen entfert bzw. in deaktiviert. Habe mich schon im Netz umgesehen, nur stoße ich immer wieder auf ein Problem.
Ich kriege immer die Meldung, daß "hWnd" keine Member der Form ist. Kenne diese Fehlermeldungen von fhehlenden Steuerelementen. Aber welches benötige ich?
Der Code sieht so aus:

Const MF_BYPOSITION = &H400&

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

Public Sub DisableCloseWindowButton(ByVal frm As Form1)

Dim hSysMenu As Long

'Get the handle of the Window
hSysMenu = GetSystemMenu(frm.hWnd, 0)

'Disable the close button of the Form
RemoveMenu(hSysMenu, 6, MF_BYPOSITION)

'Remove the seperator bar
RemoveMenu(hSysMenu, 5, MF_BYPOSITION)

End Sub

Danke im vorraus.


Update: Habe die Funktione ControlBox der Form gefunden, um die drei sofort zu entfernen. Aber wüßte trotzdem noch gerne, was hWnd ist.
 
Zuletzt bearbeitet:
hWnd ist das Handle auf ein Windows Fenster
in .Net müsstest du das mit Form1.Handle bekommen

Aber warum nicht einfach ControlBox Eigenschaft im Formular auf false setzen?
 
Zurück