Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0525: Listview-Spalten individuell mit Menü versehen

 von 

Beschreibung 

Dieser Tipp beschreibt, wie man spalten eines Listview individuell mit Menüs versehen kann

Schwierigkeitsgrad:

Schwierigkeitsgrad 1

Verwendete API-Aufrufe:

keine

Download:

Download des Beispielprojektes [2,45 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 -------------
' Die Komponente 'Microsoft Windows Common Controls 6.0 (SP6) (mscomctl.ocx)' wird benötigt.

'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Listenanzeigesteuerungselement "ListView1"
' Steuerelement: Menü "mnuGurken"
' Steuerelement: Menü "mnuGurkenGurke" (Index von 0 bis 2) auf mnuGurken
Option Explicit



Private Sub Form_Load()
    mnuGurken.Visible = False
    With ListView1.ListItems
        .Add(, , "Esse täglich eine").ListSubItems.Add , , "Sauergurke"
        .Add(, , "Das Leben ist eine einzige").ListSubItems.Add , , "Schweissgurke"
    End With
End Sub

Private Sub ListView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = 2 And lvGetColumn(ListView1, x, y) = 2 Then
        PopupMenu mnuGurken
    End If
End Sub

Private Function lvGetColumn(LV As ListView, x As Single, y As Single) As Integer
    With LV
        If .ListItems.Count > 0 Then
            Dim a As Integer
            For a = 1 To .ColumnHeaders.Count
                If .ColumnHeaders(a).Left <= x And _
                    .ColumnHeaders(a).Left + .ColumnHeaders(a).Width >= x Then
                    
                    lvGetColumn = a
                    Exit For
                End If
            Next a
        End If
    End With
End Function

Private Sub mnuGurkenGurke_Click(Index As Integer)
    ListView1.SelectedItem.ListSubItems(1).Text = mnuGurkenGurke(Index).Caption
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.