Come posso disabilitare o nascondere la X di chiusura di un form in VBA?
Grazie
Come posso disabilitare o nascondere la X di chiusura di un form in VBA?
Grazie
- - - Salvatore - - -
per VBA c'è il subforum: ti sposto lì
io sono festosamente cicciottello :: e. cartman
t'amo senza sapere come, nè quando nè da dove,
t'amo direttamente senza problemi nè orgoglio:
così ti amo perchè non so amare altrimenti
ops.. scusa non avevo letto..Originariamente inviato da MMarzia
per VBA c'è il subforum: ti sposto lì![]()
- - - Salvatore - - -
ciaocodice:Private Sub Form_QueryUnload(cancel As Integer, UnloadMode As Integer) Select Case UnloadMode Case 1 cancel = False Case Else cancel = True End Select End Sub
I'll see you on the dark side of the moon
per usarlacodice:'menu flags Public Const MF_BYCOMMAND As Long = &H0 Public Const MF_BYPOSITION As Long = &H400 Public Const MF_REMOVE As Long = &H1000 Public Const MIIM_STATE As Long = &H1 Public Const MIIM_ID As Long = &H2 Public Const MIIM_SUBMENU As Long = &H4 Public Const MIIM_CHECKMARKS As Long = &H8 Public Const MIIM_TYPE As Long = &H10 Public Const MIIM_DATA As Long = &H20 Public Const MFT_STRING As Long = &H0 Public Const MFT_RADIOCHECK As Long = &H200 Public Const MFS_DISABLED As Long = &H3 Public Type MENUITEMINFO cbSize As Long fMask As Long fType As Long fState As Long wID As Long hSubMenu As Long hbmpChecked As Long hbmpUnchecked As Long dwItemData As Long dwTypeData As String cch As Long End Type Public Declare Function GetMenuItemInfo Lib "user32" _ Alias "GetMenuItemInfoA" _ (ByVal hMenu As Long, ByVal uItem As Long, _ ByVal fByPosition As Long, lpmii As MENUITEMINFO) As Long Public Declare Function GetMenuItemCount Lib "user32" _ (ByVal hMenu As Long) As Long 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 Declare Function DrawMenuBar Lib "user32" _ (ByVal hwnd As Long) As Long Public Declare Function SetWindowPos Lib "user32" _ (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _ ByVal x As Long, ByVal Y As Long, _ ByVal cx As Long, ByVal cy As Long, _ ByVal wFlags As Long) As Long Public Sub RemoveCloseMenu(frm As Form) Dim c As Long Dim hMenu As Long Dim mInfo As MENUITEMINFO Dim Pos As Long 'Trova l'hndle del menu hMenu = GetSystemMenu(frm.hwnd, 0) 'scorre i menu all'indietro For c = GetMenuItemCount(hMenu) To 0 Step -1 mInfo.cbSize = Len(mInfo) mInfo.fMask = MIIM_TYPE Or MIIM_ID mInfo.fType = MFT_STRING mInfo.dwTypeData = SPACE$(256) mInfo.cch = Len(mInfo.dwTypeData) 'ottieni la struttura MENUITEMINFO per il menu corrente If GetMenuItemInfo(hMenu, c, True, mInfo) = 1 Then If (mInfo.wID = 61536) Then 'id del menu X 'toglie la X Call RemoveMenu(hMenu, c, MF_REMOVE Or MF_BYPOSITION) 'toglie il separatore prima della X Call RemoveMenu(hMenu, c - 1, MF_REMOVE Or MF_BYPOSITION) End If End If Next Call SetWindowPos(frm.hwnd, 0, 0, 0, 0, 0, SWP_FLAGS) Call DrawMenuBar(frm.hwnd) End Sub
codice:call RemoveCloseMenu(nomeform)
Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te
grazie a tutti quanti.. provo stasera a farlo..
![]()
![]()
- - - Salvatore - - -
Sicuramente la soluzione di xegallo è più "professionale" ma non so se ne valga la pena usare tutto quel codice...![]()
Una tecnologia sufficientemente avanzata è indistinguibile dalla magia. Terza legge di Clarke
non usarloOriginariamente inviato da goku370
Sicuramente la soluzione di xegallo è più "professionale" ma non so se ne valga la pena usare tutto quel codice...![]()
![]()
lo metti in un modulo con le funzioni generali e per usarlo basta chiamare una funzione
sarà meglio che l'utente preme X e non succede niente?
Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te
Ciao xegallo prima di tutto grazie per il tuo codice.
Avrei una domanda stupida:
per disattivare il bottone di ingrandimento della finestra come dovrei fare a partire dal tuo codice?
Grazie per la risposta.
Andrea
Originariamente inviato da quincy
Ciao xegallo prima di tutto grazie per il tuo codice.
Avrei una domanda stupida:
per disattivare il bottone di ingrandimento della finestra come dovrei fare a partire dal tuo codice?
Grazie per la risposta.codice:'toglie la X Call RemoveMenu(hMenu, c, MF_REMOVE Or MF_BYPOSITION) 'toglie il maxbutton Call RemoveMenu(hMenu, c - 2, MF_REMOVE Or MF_BYPOSITION)
Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te