Pomocí několika řádků kódu můžete z popup menu odstranit možnost zavření formuláře...
Znáte to. Pokud kliknete na nějakou položku na liště pravým tlačítkem, objeví se vám možnost tuto aplikaci pomocí menu zavřít. Pokud to chcete znemožnit, je právě pro vás této kód:
Const MF_BYPOSITION = &H400
Const MF_REMOVE = &H1000
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) 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 Command1_Click()
ManipulatorMenu = GetSystemMenu(Me.hwnd, 0)
PocetPolozekMenu = GetMenuItemCount(ManipulatorMenu)
Call RemoveMenu(ManipulatorMenu, PocetPolozekMenu - 1, MF_REMOVE Or MF_BYPOSITION)
Call RemoveMenu(ManipulatorMenu, PocetPolozekMenu - 2, MF_REMOVE Or MF_BYPOSITION)
Call DrawMenuBar(Me.hwnd)
End Sub
Private Sub Command2_Click()
End
End Sub
Teď se na něj podíváme co a jak. Nadeklarujeme si API funkce. No a podíváme se na proceduru Command1_Click. Prvně si získáme manipulátor menu. Potom pomocí něj získáme počet položek a poslední a předposlední položku z něj odstraníme. Poslední položka je Zavřít a předposlední položkou je separátor čili oddělovač. A teď už jen překreslíme menu pomocí API funkce DrawMenuBar. A JE TO.
Upozornění: tyto kódy nejsou dokonalé ani nějak moc ošetřené proti chybám. To už nechám na vás.