Odstranění položek systémového menu

Postup:
V modulu je nejprve nutné provést následující deklarace:

Public Const MF_BYPOSITION = &H400
Declare Function GetSystemMenu Lib "USER32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Declare Function RemoveMenu Lib "USER32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long

* každá deklarace musí být napsána na jedné, samostatné řádce.

Do modulu vložte následující funkci:

Public Sub RemoveSystemMenu(F As Form)

   Dim hSysMenu

   hSysMenu = GetSystemMenu(F.hwnd, 0)
   RemoveMenu hSysMenu, 8, MF_BYPOSITION
   RemoveMenu hSysMenu, 7, MF_BYPOSITION
   RemoveMenu hSysMenu, 6, MF_BYPOSITION
   RemoveMenu hSysMenu, 5, MF_BYPOSITION
   RemoveMenu hSysMenu, 4, MF_BYPOSITION
   RemoveMenu hSysMenu, 3, MF_BYPOSITION
   RemoveMenu hSysMenu, 2, MF_BYPOSITION
   RemoveMenu hSysMenu, 1, MF_BYPOSITION
   RemoveMenu hSysMenu, 0, MF_BYPOSITION

End Sub

Tato funkce odstraní všechny položky ze systémového menu. Pokud chcete odstranit pouze některé, označte příslušný řádek jako poznámku.

Z formuláře, pro který chcete vyjmout systémové menu, vypadá volání této funkce z události LOAD takto:

Private Sub Form1_Load()

   RemoveSystemMenu Me

End Sub

Zpět

Autor: The Bozena

iReklama.cz - nový reklamní systém
iReklama.cz - nový reklamní systém