[VB2003] Comment changer la couleur du Mainmenu [Résolu]

Signaler
Messages postés
7
Date d'inscription
samedi 19 février 2005
Statut
Membre
Dernière intervention
3 février 2011
-
Messages postés
7
Date d'inscription
samedi 19 février 2005
Statut
Membre
Dernière intervention
3 février 2011
-
Bonjour,

Je cherche a changer la couleur de fond du Mainmenu.
Je n'ai rien trouver a part changer celle des MenuItems, chose qui ne m'interesse pas dans mon projet.

Quelqu'un sais faire ou a des idees ? Je ne maitrise pas du tout la modification/creation de controls, c'est la premiere fois que j'en ai besoin !

Merci d'avance.

5 réponses

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Alors il faut manier quelques apis :



Private Const MIM_BACKGROUND As Integer = &H2

Private Structure MENUINFO
  Public cbSize As Integer
  Public fMask As Integer
  Public dwStyle As Integer
  Public cyMax As Integer
  Public hbrBack As System.IntPtr
  Public dwContextHelpID As Integer
  Public dwMenuData As Integer
  Public Sub New(ByVal owner As System.Windows.Forms.Control)
    cbSize = System.Runtime.InteropServices.Marshal.SizeOf(GetType(MENUINFO))
    fMask = 0
    dwStyle = 0
    cyMax = 0
    hbrBack = System.IntPtr.Zero
    dwContextHelpID = 0
    dwMenuData = 0
  End Sub
End Structure

<System.Runtime.InteropServices.DllImport("user32.dll")> _
Private Shared Function SetMenuInfo(ByVal hmenu As System.IntPtr, ByRef mi As MENUINFO) As Integer
End Function
<System.Runtime.InteropServices.DllImport("user32.dll")> _
Private Shared Function DrawMenuBar(ByVal hwnd As System.IntPtr) As System.IntPtr
End Function
<System.Runtime.InteropServices.DllImport("gdi32")> _
Private Shared Function CreateSolidBrush(ByVal crColor As Integer) As System.IntPtr
End Function

' Pour appliquer la couleur
Dim mi As New MENUINFO(Me)
mi.fMask = MIM_BACKGROUND
mi.hbrBack = CreateSolidBrush(&HFF) ' Ici du rouge
SetMenuInfo(MyBase.Menu.Handle, mi)
DrawMenuBar(MyBase.Handle),

----

(Nouveau forum VBA/Office
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
51
Salut,
Si tu parle du MenuStrip, c'est avec la property BackColor, comme pour les autres Controls...

<hr />
-Blog-
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Salut,

Tu veux dire toute la bande de menu ou juste les menus ?
Si c'est les menus, regarde un peu ici :
http://www.vbfrance.com/codes/MENUS-DESIGNER-TOUT-SIMPLEMENT_33601.aspx







__________
Kenji

(


Nouveau forum VBA/Office
Messages postés
7
Date d'inscription
samedi 19 février 2005
Statut
Membre
Dernière intervention
3 février 2011

Tout d'abort, merci pour les reponses.
Charles, il s'agit bien de la couleur de la barre du menu, pas des menus. Donc je cherche toujours .... !
Messages postés
7
Date d'inscription
samedi 19 février 2005
Statut
Membre
Dernière intervention
3 février 2011

EXCELLENT !!!
Merci beaucoup.