Jag har en fråga. Svar det går. Men varför vill du gara det? Det är något som man ej bör göra. I min application utgår jag från ett main form !!!!!! Lägg denna sub i en modul Jag får det inte att funka !!!!! Sätt ControlBox till False i egenskapsföstret för formuläret. Det var ett mycket skumt sätt att göra det på. Mitt förslag är att du flyttar koden som öpnar Main till unload eventet och tar bort det från knapparna. Varför ska man inte ta bort eller avaktivera kryssrutan? För det första strider det mot grunderna i användargränsnittet. Du bör följa dessa. OK, Hej..Sänga av stängkryasset i ett formular ???
Går det stänga av Krysset uppe i högra hörnet på formulären så att man inte kan stänga fönstrena med hjälp av det ??????
Jag fixed Dialog, då är ju minnimera/maximera knapparna borta !!!!
Om det går skulle jag vara tacksamm för Hjälp...
Ni får hjärna posta kod
/MVH Tobbe Sv: Sänga av stängkryasset i ett formular ???
Förklara gärna varför du vill göra det?Sv: Sänga av stängkryasset i ett formular ???
När jag öppnar en del andra form (stänger jag main formet )
jag har en spara och en avbryt knapp på mina andra form, så att tar man spara sparas vissa saker i databasen och formet stängs och main formet öppnas,trycker man på avbryt så stängs formet och main formet öppnas men trycker någon på krysset så stängs ju mitt form men main formet öppnas ju ej !!!
för att undvika att man stänger dessa form med krysset så vill jag ta bort det så att man bara kan stänga dom igenom att avbryta eller spara !!!!
Om du förstår blev lite luddigt !!!
MVH Tobbster Sv: Sänga av stängkryasset i ett formular ???
Public Sub RemoveCloseMenu(frm As Form)
Dim hSysMenu As Long
hSysMenu = GetSystemMenu(frm.hwnd, 0)
Call RemoveMenu(hSysMenu, 6, MF_BYPOSITION)
Call RemoveMenu(hSysMenu, 5, MF_BYPOSITION)
End Sub
...anropa sedan denna med
RemoveCloseMenu Me
Mvh
/StaffanSv: Sänga av stängkryasset i ett formular ???
får felmeddelandet att en inte hittar funktionen.
GetSystemMenu(frm.hWnd, 0).
Vet inte vad jag ska göra ?????Sv: Sänga av stängkryasset i ett formular ???
Detta tar bort minimera,maximera och kryssrutan.
/JensSv: Sänga av stängkryasset i ett formular ???
Men det du borde göra är nog istället att öppna ditt formulär som modal.
frmForm1.Show vbModal
Då måste man stänga ditt formulär innan man kan göra något med huvudformuläret.
Dessa två alternativa är i vilket fall en bättre lösning än att ta bort kryssrutan. Sv: Sänga av stängkryasset i ett formular ???
Sv: Sänga av stängkryasset i ett formular ???
Typ som att uppfinna egna tangenkombinationer för klip och klistra.
Låt användaren känna sig hemma i ert program så blir deras upplevelse betydligt trevligare. Kanse rent av tycker om det.
Det är ju trots allt de som skall använda det.Sv: Sänga av stängkryasset i ett formular ???
Det finns som jag ser det 3 sätt det kan bli på. Jag har lyckats med alla!
<code>
1. Krysset tas helt bort
2. Krysset är kvar, men när man trycker på det händer inget (Dåligt sätt)
3. Krysset är inaktiverat, men det är kvar, men det syns att det inte går klicka på
</code>
Om man vill använda nåt av detta rekommenderar jag den sista.
Och här delar jag med mig av den koden:
I General Declarations:
<code>
Private Declare Function GetSystemMenu Lib "user32" _
(ByVal hwnd As Long, _
ByVal bRevert As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" _
(ByVal hMenu 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 Declare Function DrawMenuBar Lib "user32" _
(ByVal hwnd As Long) As Long
Private Const MF_BYPOSITION = &H400&
Private Const MF_REMOVE = &H1000&
</code>
Funktion:
<code>
Private Sub DisableX()
Dim hMenu As Long
Dim nCount As Long
hMenu = GetSystemMenu(Me.hwnd, 0)
nCount = GetMenuItemCount(hMenu)
'Get rid of the Close menu and its separator
Call RemoveMenu(hMenu, nCount - 1, MF_REMOVE Or MF_BYPOSITION)
'Call RemoveMenu(hMenu, nCount - 2, MF_REMOVE Or MF_BYPOSITION)
'Make sure the screen updates
'our change
DrawMenuBar Me.hwnd
End Sub
</code>
Skriv sen:
<code>DisableX</code>
i Form_Load (eller var du vill)
/ACSv: Sänga av stängkryasset i ett formular ???
Är det inte bättre om man i Form_QueryUnload
lägger in en kod som gör att man hamnar på ett t ex. ett start formulär
och därifrån kan användaren stänga ner programmet.
Mvh Dennis