Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0465: Menüpunkt rechts ausrichten

 von 

Beschreibung 

Hiermit ist es Ihnen möglich, einen Menüpunkt auf der rechten Seite der Form anzuzeigen. Leider ist es mir nicht gelungen, dies bei einem nicht leeren Menü zu machen. Über den Nutzen kann man aber bei diesem Tipp streiten, weil dies nicht gerade zur Übersichtlichkeit des Programmes beiträgt. Aber nett siehts trotzdem aus :-)

Schwierigkeitsgrad:

Schwierigkeitsgrad 2

Verwendete API-Aufrufe:

DrawMenuBar, GetMenu, GetMenuItemID, ModifyMenuA (ModifyMenu)

Download:

Download des Beispielprojektes [2,03 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Projekt1.vbp -------------
'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Schaltfläche "Command1"
' Steuerelement: Menü "mnuMenu" (Index von 0 bis 2)
' Steuerelement: Menü "mnuDummy1" (Index von 0 bis 4) auf mnuMenu
' Steuerelement: Menü "mnuDummy2" (Index von 0 bis 1) auf mnuMenu
Option Explicit

' Code von Benjamin Wilger
' Copyright (C) 2001, alle Rechte vorbehalten
Private Declare Function GetMenu Lib "user32" ( _
                         ByVal hWnd As Long) As Long
                         
Private Declare Function GetMenuItemID Lib "user32" ( _
                         ByVal hMenu As Long, _
                         ByVal nPos As Long) As Long
                         
Private Declare Function ModifyMenu Lib "user32" _
                         Alias "ModifyMenuA" ( _
                         ByVal hMenu As Long, _
                         ByVal nPosition As Long, _
                         ByVal wFlags As Long, _
                         ByVal wIDNewItem As Long, _
                         ByVal lpString As Any) As Long
                         
Private Declare Sub DrawMenuBar Lib "user32" ( _
                    ByVal hWnd As Long)
                    
Private Const MF_RIGHTJUSTIFY = &H4000

Private Sub Command1_Click()
    Dim hMenu As Long, MenuID As Long
    
    hMenu = GetMenu(Me.hWnd)
    MenuID = GetMenuItemID(hMenu, 2) ' 0 ist erster Menüpunkt, 1 zweiter etc.
    ModifyMenu hMenu, MenuID, MF_RIGHTJUSTIFY, MenuID, "&Info"
    DrawMenuBar Me.hWnd
End Sub

Private Sub mnuMenu_Click(Index As Integer)
    If Index = 2 Then
        MsgBox "Viel Spaß mit dem Code!" & vbCrLf & "Code von Benjamin Wilger, " & _
            "Copyright (C) 2001" & vbCrLf & vbCrLf & "ActiveVB - Die Fachseite für " & _
            "VisualBasic und VBA" & vbCrLf & "http://www.activevb.de"
    End If
End Sub

'---------- Ende Formular "Form1" alias Form1.frm  ----------
'-------------- Ende Projektdatei Projekt1.vbp --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 2 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von Florian N. am 15.03.2002 um 16:25

Das ist zwar durchaus nützlich, aber gibt es auch eine Möglichkeit das Menu rechts auszurichten wenn es Unterpunkte hat?
Danke,
FN

Kommentar von Florian R. am 23.02.2002 um 02:19

Laut Designstandart
ist es bei den Hilfe-Menüpunkten ( - "?") ganz gut, wenn diese rechts erscheinen.
Mfg Florian