vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ActiveX-Programmierung
Re: Treeview Kontextmenü 
Autor: benne
Datum: 30.10.09 18:17

Hallo,

gerade bin ich über diesen etwas älteren Beitrag gestoßen.
Deine Ansätze sind so schlimm, dass ich an meine Anfangszeit zurückdenke,
als ich mit der Treeview mehr als nur ein wenig auf Kriegsfuß stand.

zum ersten:

Der Rechtsklick wird nicht im treeview_mousedown Ereignis abgefangen.
Besser ist : clsObjTVW_MouseUp

Dann besorgst du dir den selectedItem Eintrag.
wenn der auf nothing steht, dann ist nichts markiert.

Bei meinen Treeviews ist auf jedem node ein anderer Eintrag möglich, das hängt vom Typ ab.

Ich benutze folgende Logik :

der Key eines Nodes ist immer :

Feldname des Primärschlüssels des Datensatz
ein Doppelpunkt
der Wert des Primärschlüssels.

z.B. "ID_Kunden:45325"

über eine kleine Routine lese ich aus dem Key dann das Feld und den Wert aus.
So weiß ich, welchen Node ich habe und auf welchen Satz er sich bezieht.

So ergibt sich folgende Standardroutine, die ich über MZTools immer einbinde :
Private Sub clsObjTVW_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, _
  ByVal x As stdole.OLE_XPOS_PIXELS, ByVal y As stdole.OLE_YPOS_PIXELS)
    Dim nodx As Node
    Dim strName As String
    Dim lngID As Long
 
    Set nodx = clsObjTVW.SelectedItem
    If nodx Is Nothing Then Exit Sub
 
    strName = key_name(nodx.Key)
    lngID = key_ID(nodx.Key)
 
    If Button = vbRightButton Then
        Select Case strName
            Case "ID_InlineLink"
                    ' Nr. , Text, leer, Symbol ID , Enable, Visible, Group
                    Call xcb_DefineData(1, "Gültigkeiten bearbeiten", , 592, _
                      True, True, False)
                    Select Case xcb_PopMenu(1)
                        Case 1:
                            Call clsfrmParent.clsfrmParent.tok_EditGültigkeit( _
                              lngID)
                        Case 2:
 
                    End Select
Das Popupmenü mache ich über eine Eigen-Routine, die mir die Popups zur Laufzeit selbst zusammenbastelt. Schau mal im Netz, da gibt es genügend Beispiele.

Vielleicht helfen die diese Ansätze weiter.

Gruß

Benne
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Treeview Kontextmenü4.483etheniel12.09.08 12:09
Re: Treeview Kontextmenü2.547ModeratorDieter13.09.08 09:25
Re: Treeview Kontextmenü2.355etheniel15.09.08 09:30
Re: Treeview Kontextmenü2.406etheniel16.09.08 09:07
Re: Treeview Kontextmenü2.091benne30.10.09 18:17

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel