VB-Homepage Tipp 212

Formänderungen unterbinden ohne MSGHOOK
Formeigenschaften setzen über API

Es gibt doch nichts, was nicht noch verbessert werden könnte.
Und deshalb gibt es hier eine neue Fassung des Tipps, der sich zwar nicht grundlegend von dem bisherigen unterscheidet, aber mit weniger Anweisungen auskommt und besser strukturiert ist.

Erstellen Sie sich ein neues Projekt mit einer Form und geben in den

Allgemein/Deklarationen Abschnitt der Form folgende API Anweisungen an.
Const MF_DELETE = &H200&

Const SC_CLOSE = &HF060
Const SC_MAXIMIZE = &HF030
Const SC_MINIMIZE = &HF020
Const SC_MOVE = &HF010
Const SC_SIZE = &HF000

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

Als nächtes müßten Sie sich überlegen, welche Funktionen Ihrer Form Sie disablen möchten. Um diese dann zu setzen, brauchen Sie nur noch den entsprechenden Code in die
Form_Load Methode der Form aufzunehmen.

'X-Button inaktiv
RemoveMenu GetSystemMenu(hwnd, 0), SC_CLOSE, MF_DELETE
'Max-Button inaktiv
RemoveMenu GetSystemMenu(hwnd, 0), SC_MAXIMIZE, MF_DELETE
'Min-Button inaktiv
RemoveMenu GetSystemMenu(hwnd, 0), SC_MINIMIZE, MF_DELETE
'Form verschieben inaktiv
RemoveMenu GetSystemMenu(hwnd, 0), SC_MOVE, MF_DELETE
'Größenänderung inaktiv
RemoveMenu GetSystemMenu(hwnd, 0), SC_SIZE, MF_DELETE

Mehr braucht es nicht, starten Sie Ihr Projekt mit F5 und sehen Sie ob die angegebenen Eigenschaften gesetzt wurden.


Tipp-Download

Quelle :

Zurück zur Übersichtsseite