vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 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

Visual-Basic Einsteiger
Menü Führung wie DirListBox 
Autor: rw
Datum: 15.02.05 11:30

Hallo,
vielleicht kann einer helfen?
Mit einer DirListBox kann ich sehr schön meine Verzeichnisstruktur darstellen.
Ich möchte aber meine Menüführung (optisch) genau so darstellen wie eine DirListBox.
Kann man solch eine Darstellung selbst (mit eigenen Einträgen) erzeugen?
Danke und Gruß aus Wildeshausen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Menü Führung wie DirListBox 
Autor: RalfH
Datum: 15.02.05 12:39

Hallo,

dafür kannst Du das Treeview-Control verwenden.
--> Einfach im Menü "Projekt\Komponenten" den Listeneintrag "Microsoft Windows Common Control x.x (SPx)" aktivieren.

Viel Spass,
R@lf

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Menü Führung wie DirListBox 
Autor: rw
Datum: 15.02.05 15:05

Hallo,
danke erst ein mal.
Hast du ein kleines Beispiel (od. Link) wie man so ein Control benutzen kann.
Ich kenne mich da überhaupt nicht aus.
Gruß Ralf
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Menü Führung wie DirListBox 
Autor: RalfH
Datum: 16.02.05 07:32

Servus,

kopiere folgenden Code in ein Form-Modul und füge die Komponente (Menü Projekt\Komponenten) "Microsoft Windows Common Controls x.x" zum Projekt. (gibts von der Komponente verschiedene Versionen, dann die neuste auswählen)

Anschließen auf die Form ein Treeview- und ein ImageList-Control setzen.

1) Am Treeview brauchen keine Eigenschaften geändert werden.
2) Das ImageList-Control mit der rechten Maustaste anklicken und "Eigenschaften" wählen.
3) Dann auf die Seite "Abbildungen" wechseln und
4) mit der Schaltfläche "Bild einfügen..." 2 Bilder (möglichst 16x16-Pixel-Symbole) einfügen.

Option Explicit
 
Private Sub Form_Load()
  On Error Resume Next
 
  Dim NM As Node, NC As Node
 
  With TreeView1
 
    .Indentation = 20 * Screen.TwipsPerPixelX ' untergeordnete Einträge um 20 
    ' Pixel einrücken
    .LabelEdit = tvwManual ' sonst können Einträge wie im Explorer umbenannt 
    ' werden (markierten Eintrag nochmals einmal anklicken und Mauszeiger 
    ' sofort auf dem selben Eintrag weiterbewegen)
 
    .Style = tvwTreelinesPlusMinusPictureText ' Darstellung --> einfach mal 
    ' probieren
    .LineStyle = tvwTreeLines 'tvwRootLines --> wenn vor "Menü" auch das _
      Kreuz gezeigt werden soll
 
    ' Bilder anbinden
    Set .ImageList = ImageList1
 
    ' Ersten Eintrag einfügen und im Objekt "NM" merken (Bild 1 zuweisen)
    Set NM = .Nodes.Add(, tvwFirst, , "Menü", 1)
 
      ' Eintrag "Datei" als Unterpunkt von "NM" (also "Menü") anlegen und als 
      ' "NC" merken (Bild 2 zuweisen)
      Set NC = .Nodes.Add(NM, tvwChild, , "Datei", 2)
 
        ' mehrere Unterpunkt in "NC" (hier also Datei) anlegen und Bild 2 
        ' zuweisen
        .Nodes.Add NC, tvwChild, , "Öffnen", 2
        .Nodes.Add NC, tvwChild, , "Speichern", 2
        .Nodes.Add NC, tvwChild, , "Schließen", 2
 
      ' Eintrag "Bearbeiten" als Unterpunkt von "NM" (also "Menü") anlegen und 
      ' als "NC" merken (Bild 2 zuweisen)
      Set NC = .Nodes.Add(NM, tvwChild, , "Bearbeiten", 2)
 
        ' mehrere Unterpunkt in "NC" (diesmal Bearbeiten) anlegen und Bild 2 
        ' zuweisen
        .Nodes.Add NC, tvwChild, , "Ausschneiden", 2
        .Nodes.Add NC, tvwChild, , "Kopieren", 2
        .Nodes.Add NC, tvwChild, , "Einfügen", 2
 
    ' Eintrag "Menü" aufklappen
    NM.Expanded = True
 
    ' Speicher freigeben
    Set NC = Nothing
    Set NM = Nothing
 
  End With
 
End Sub
 
Private Sub Form_Resize()
  With TreeView1
    .Top = 0
    .Left = 0
    .Height = ScaleHeight
    .Width = ScaleWidth \ 3 ' 1/3 Fensterbreite
  End With
End Sub
 
Private Sub TreeView1_MouseUp(Button As Integer, Shift As Integer, x As Single, _
  y As Single)
  Dim N As Node
 
  Set N = TreeView1.HitTest(x, y)
 
  ' Kein EIntrag markiert? --> Sub abbrechen
  If N Is Nothing Then Exit Sub
 
  ' enthält der angeklickte Eintrag keine Unterpunkte --> dann Ausgabe
  If N.Children = 0 Then
    MsgBox N.Text & " angeklickt"
  End If
 
  Set N = Nothing
End Sub

Viel Spass,
R@lf

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Menü Führung wie DirListBox 
Autor: rw
Datum: 16.02.05 08:58

Hallo,
genau so.
Gruß und Danke Ralf
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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