A mon avis, ça doit ressembler à ca, mais j'ai pas le temps de tester...
Bon courage !
Public Declare Function DrawMenuBar Lib "user32" (ByVal Hwnd 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 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 Const MF_BYPOSITION = &H400
Public Const MF_REMOVE = &H1000
Public Function fctSupprimerFermerMenuSysteme(ByVal plngHwnd As Long) As Long
Dim lngHmenu As Long
Dim lngNombreElement As Long
lngHmenu = GetSystemMenu(plngHwnd, 0)
If lngHmenu Then
lngNombreElement = GetMenuItemCount(lngHmenu)
' Suppression de l'élément Fermer
Call RemoveMenu(lngHmenu, lngNombreElement - 1, MF_REMOVE Or MF_BYPOSITION)
' Suppression du séparateur
Call RemoveMenu(lngHmenu, lngNombreElement - 2, MF_REMOVE Or MF_BYPOSITION)
' On redessine le menu
Call DrawMenuBar(plngHwnd)
End If
End Function
-------------------------------
Réponse au message :
-------------------------------
J'y regarde.... mais fô je travaille un peu aussi pour gagner des sous ....
A plus.
Amitiés - Renaud -
-------------------------------
Réponse au message :
-------------------------------
Hello Renaud !
Fanstastique, ce la fonctionne parfaitement.
Mais existe-t-il donc une fonction pour le réinitialiser ?
Merci
christophe
-------------------------------
Réponse au message :
-------------------------------
Salut Christophe,
A mon avis, ça doit ressembler à ca, mais j'ai pas le temps de tester...
Bon courage !
Public Declare Function DrawMenuBar Lib "user32" (ByVal Hwnd 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 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 Const MF_BYPOSITION = &H400
Public Const MF_REMOVE = &H1000
Public Function fctSupprimerFermerMenuSysteme(ByVal plngHwnd As Long) As Long
Dim lngHmenu As Long
Dim lngNombreElement As Long
lngHmenu = GetSystemMenu(plngHwnd, 0)
If lngHmenu Then
lngNombreElement = GetMenuItemCount(lngHmenu)
' Suppression de l'élément Fermer
Call RemoveMenu(lngHmenu, lngNombreElement - 1, MF_REMOVE Or MF_BYPOSITION)
' Suppression du séparateur
Call RemoveMenu(lngHmenu, lngNombreElement - 2, MF_REMOVE Or MF_BYPOSITION)
' On redessine le menu
Call DrawMenuBar(plngHwnd)
End If
End Function
Amitiés - Renaud -
-------------------------------
Réponse au message :
-------------------------------
Quel API permet de rendre 'enabled' ou pas la croix fermer en haut à droite d'un formulaire ?
sarl_adc
Messages postés141Date d'inscriptionlundi 3 novembre 2003StatutMembreDernière intervention20 octobre 2005 22 sept. 2004 à 13:56
Hello !
Vous savez comment faire pour afficher en + des 3 boutons (min, max et fermer) un bouton d'aide contextuelle ?
Sachant que quand on a ces 3 boutons VB ne l'affiche pas et vice-versa...