16. juli 2001 - 08:03Der er
12 kommentarer og 1 løsning
ControlBox skal være False, men jeg vil stadig have ikonet der .. how !?
Jeg har en form, BorderStyle: 3 - Fixed Dialog, og hvis jeg sætter ControlBox = False så fjerner den også mit programikon, og jeg vil KUN fjerne \"LUK\" knappen.
Du skal fjerne Close i windows-menuen for din Form:
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 Const MF_BYPOSITION = &H400
Private Sub TakeCloseOff(Handle As Long) Dim SysMenHandle As Long, RetVal As Long SysMenHandle = GetSystemMenu(Handle, 0) \'Get the handle of Form1\'s Window menu RetVal = RemoveMenu(SysMenHandle, 6, MF_BYPOSITION) \'Take out Close item RetVal = RemoveMenu(SysMenHandle, 5, MF_BYPOSITION) \'Take out separator that is now on bottom End Sub
Private Sub Form_Load() TakeCloseOff Me.hwnd End Sub
Yes yes .. den disabler den kun :-( Det havde jeg allerede fået svar på på experts-exchange.com (hvordan man disabler den) .. sååe .. jeg fik af vide at det ikke KAN lade sig gøre at fjerne den helt.
Luk-knappen bliver rigtig nok \"kun\" disabled, men er dette ikke målet med denne øvelse, dine brugere kan banke løs med musen, men kun lukke formen på \"din\" kommando...
Eller selvfølgelig ved at slukke for maskinen ;-)
Reelt set er det der sker, at menupunktet Close bliver fjernet, og Windows \"forærer\" dig samtidig at ikonet bliver inaktivt. Jeg har til dato ikke hørt om at man helt kan FJERNE ikonet.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.