Ga naar inhoud

Kruisje disablen


anoniem

Aanbevolen berichten

Dat kun je met een paar API-calls redelijk eenvoudig realiseren. Zet het volgende in een module. [code:1:c4410ac333] Option Explicit Public Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long Public Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long Public Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long Public Const MF_BYPOSITION = &H400& Public Const MF_REMOVE = &H1000& Public Const MF_ENABLED = &H0& Public Const MF_INSERT = &H0& ' Params: ' frmForm is het form waar je de status van x van wilt beinvloeden. ' bEnabled, false -> disable X, true -> enable X Public Sub DisableX(frmForm As Form, bEnabled As Boolean) Dim hMenu As Long Dim lngCount As Long If Not bEnabled Then hMenu = GetSystemMenu(frmForm.hwnd, 0) lngCount = GetMenuItemCount(hMenu) 'Haalt het sluitmenu en de separator weg. Call RemoveMenu(hMenu, lngCount - 1, MF_REMOVE Or MF_BYPOSITION) Call RemoveMenu(hMenu, lngCount - 2, MF_REMOVE Or MF_BYPOSITION) 'Wijzigingen ook in het scherm updaten. DrawMenuBar frmForm.hwnd Else hMenu = GetSystemMenu(frmForm.hwnd, True) DrawMenuBar frmForm.hwnd End If End Sub [/code:1:c4410ac333] Om nu de X in een form (en uiteraard het bijbehorende menu-item in het systemmenu) te eactiveren roep je eenvoudig deze funktie aan met de formnaam en een False [code:1:c4410ac333] Call DisableX (frmMain, False) [/code:1:c4410ac333]
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...