Mettre un menu sur la droit d'une form

Contenu du snippet

Vous en avez assé des menus toujours afficher sur la gauche ?

Voici un code à développer pour mettre un menu sur la droite de votre form

Source / Exemple :


'Le module
Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long

Public Const MIIM_TYPE = &H10
Public Const MFT_RIGHTJUSTIFY = &H4000
Public Const MFT_STRING = &H0&

Declare Function GetMenuItemInfo Lib "user32" Alias "GetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, ByVal b As Boolean, lpMenuItemInfo As MENUITEMINFO) As Long
Declare Function SetMenuItemInfo Lib "user32" Alias "SetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, ByVal bool As Boolean, lpcMenuItemInfo As MENUITEMINFO) As Long

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

' et dans la form, soit d'un bouton ou dans le load.
    Dim MnuInfo As MENUITEMINFO
    mnuH& = GetMenu(Me.hwnd)

    MnuInfo.cbSize = Len(MnuInfo)
    MnuInfo.fMask = MIIM_TYPE
    temp& = GetMenuItemInfo(mnuH&, 2, True, MnuInfo)

    MnuInfo.fType = MFT_RIGHTJUSTIFY Or MFT_STRING
    MnuInfo.cch = Len("Aide")
    MnuInfo.dwTypeData = "Aide"
    MnuInfo.cbSize = Len(MnuInfo)

    temp& = SetMenuItemInfo(mnuH&, 2, True, MnuInfo)
    temp& = DrawMenuBar(Me.hwnd)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.