Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Togliere il pulsante di chiusura

Ciao
So che c'è la possibilità, ma non ricordo proprio come si fa per togliere il
pulsante di chiusura di una form. Ho cercato sul sito comune, ma non trovo
(forse sono io che non vedo). Qualcuno sa aiutarmi?
Grazie.

http://www.vb-helper.com/HowTo/noclose.zip
Prova qui... :)
            Ciao
                Allanon

 wrote in message
57HT6.5179$Ft6.1...@news.infostrada.it...


 ha scritto nel messaggio
news:57HT6.5179$Ft6.1...@news.infostrada.it...

Questa è la 10° volta che posto questo codice
Utilizzando GetsystemMenu & RemoveMenu :
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 FlagsDelForm = &H400&
Public Sub Rimuovi_X(Form_hWnd As Long)
    Dim ControlBox As Long
    ControlBox = GetSystemMenu(hWnd, 0)
    Call RemoveMenu(ControlBox, 6, FlagsDelForm)
    Call RemoveMenu(ControlBox, 5, FlagsDelForm)
End Sub
Private Sub form_load()
    Call Rimuovi_X(Me.hWnd)
End Sub
by Utente Win2k

Questa è la 10° volta che posto questo codice
Forse proprio 10a non e', cmq negli ultimi 8 mesi questo
codice e' stato postato, tra tutti, 29 volte.
ciao, hal

 codice e' stato postato, tra tutti, 29 volte.
Aaasssssssssssssttttttttttteeeeeeeeeriiiiixxxxx!!!!!!!!!!!!
FAQiamo? ;)
        Ciao
                Allanon

 wrote in message
news:AsST6.31031$Uo3.1...@news6.giganews.com...


OPs... ;)
E' furtato da un'altro sito credo... ma non ricordo quale... Quindi... ;)
        Ciao
                Allanon
Option Explicit
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal
nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long,
ByVal bRevert As Long) As Long
Private Const MF_BYPOSITION = &H400&
Private Sub RemoveMenus(frm As Form, _
    remove_restore As Boolean, _
    remove_move As Boolean, _
    remove_size As Boolean, _
    remove_minimize As Boolean, _
    remove_maximize As Boolean, _
    remove_seperator As Boolean, _
    remove_close As Boolean)
Dim hMenu As Long
    ' Get the form's system menu handle.
    hMenu = GetSystemMenu(hwnd, False)
    If remove_close Then DeleteMenu hMenu, 6, MF_BYPOSITION
    If remove_seperator Then DeleteMenu hMenu, 5, MF_BYPOSITION
    If remove_maximize Then DeleteMenu hMenu, 4, MF_BYPOSITION
    If remove_minimize Then DeleteMenu hMenu, 3, MF_BYPOSITION
    If remove_size Then DeleteMenu hMenu, 2, MF_BYPOSITION
    If remove_move Then DeleteMenu hMenu, 1, MF_BYPOSITION
    If remove_restore Then DeleteMenu hMenu, 0, MF_BYPOSITION
End Sub


1) Sapere Usare le API non è un furto.
2) Anche Perche poi il mio codice e diverso da quello di Allanon Postato.
Mio Codice (Utente Win2k) :
Public Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long,
ByVal bRevert 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 Const FlagsDelForm = &H400&
Public Sub Rimuovi_X(Form_hWnd As Long)
    Dim ControlBox As Long
    ControlBox = GetSystemMenu(hWnd, 0)
    Call RemoveMenu(ControlBox, 6, FlagsDelForm)
    Call RemoveMenu(ControlBox, 5, FlagsDelForm)
End Sub
Private Sub form_Load()
    Call Rimuovi_X(Me.hWnd)
End Sub
POST di Allanon " FURTATO " bah....
