vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

Fortgeschrittene Programmierung
Re: TreeView füllen, durchsuchen, Node öffnen 
Autor: Dirk
Datum: 28.09.11 11:39

Folgendes Testszenario habe ich verwendet.

1 Form - Form1
+ 1 TreeView - tvTree
+ 1 TextBox - txtSearch
+ 1 Button - cmdSearch

VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form Form1 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "Form1"
   ClientHeight    =   5445
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   7740
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   5445
   ScaleWidth      =   7740
   ShowInTaskbar   =   0   'False
   StartUpPosition =   3  'Windows Default
   Begin VB.CommandButton cmdSearch 
      Caption         =   "Suche"
      Height          =   375
      Left            =   4080
      TabIndex        =   2
      Top             =   840
      Width           =   3255
   End
   Begin VB.TextBox txtSearch 
      Height          =   375
      Left            =   4080
      TabIndex        =   1
      Text            =   "Suche ..."
      Top             =   240
      Width           =   3255
   End
   Begin MSComctlLib.TreeView tvTree 
      Height          =   4815
      Left            =   360
      TabIndex        =   0
      Top             =   240
      Width           =   3375
      _ExtentX        =   5953
      _ExtentY        =   8493
      _Version        =   393217
      LineStyle       =   1
      Style           =   7
      Appearance      =   1
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
 
Private Sub cmdSearch_Click()
 
  tvFind txtSearch
 
End Sub
 
Private Sub Form_Load()
 
  tvFill
 
End Sub
 
Private Sub tvFill()
 
  Dim s
  Dim sHallo
  Dim sBoot
 
  s = Array("Hallo", "Test", "Auto", "Haus", "Boot")
  sHallo = Array("Hillo", "Hülü", "Hällo")
  sBoot = Array("Bööt", "Bäät", "Beet")
 
 
  Dim v
 
  tvTree.Nodes.Add , , "BAUM", "Baum"
 
  For Each v In s
 
    With tvTree.Nodes
      .Add "BAUM", tvwChild, UCase(v), v
    End With
 
  Next v
 
  For Each v In sHallo
 
    With tvTree.Nodes
      .Add "HALLO", tvwChild, UCase(v), v
    End With
 
  Next v
 
  For Each v In sBoot
 
    With tvTree.Nodes
      .Add "BOOT", tvwChild, UCase(v), v
    End With
 
  Next v
 
End Sub
 
Private Sub tvFind(ByVal s As String)
 
  Dim nd As Node
 
  Debug.Print "----------------------------"
  Debug.Print "      SEARCH " & s
  Debug.Print "----------------------------"
 
  For Each nd In tvTree.Nodes
 
    If nd.Text Like s Then
      Debug.Print nd.Text
      nd.EnsureVisible
      nd.BackColor = vbYellow
      nd.Selected = True
      nd.Expanded = True
    Else
      Dim boVisible As Boolean
      If Not nd.Parent Is Nothing Then
        boVisible = nd.Parent.Expanded
      End If
      nd.BackColor = vbWhite
      If Not nd.Parent Is Nothing Then
        nd.Parent.Expanded = boVisible
      End If
    End If
 
  Next nd
 
End Sub
 
Private Sub txtSearch_GotFocus()
  txtSearch.SelStart = 0
  txtSearch.SelLength = Len(txtSearch)
End Sub
 
Private Sub txtSearch_KeyPress(KeyAscii As Integer)
 
  If KeyAscii = 13 Then
    cmdSearch.SetFocus
    cmdSearch = True
  End If
 
End Sub
Wenn ich jetzt z.B. nach Hülü oder Hü* suche, findet er Hülü, wenn ich nach *ä* suche, findet er Hällo und Bäät, suche nach *a* findet 3 Knoten.

Gruß
Dirk

--
?Get it right the first time

Beitrag wurde zuletzt am 28.09.11 um 11:45:25 editiert.

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
TreeView füllen, durchsuchen, Node öffnen6.034Dirk.B28.09.11 09:55
Re: TreeView füllen, durchsuchen, Node öffnen4.175Dirk28.09.11 10:29
Re: TreeView füllen, durchsuchen, Node öffnen4.174Dirk.B28.09.11 11:09
Re: TreeView füllen, durchsuchen, Node öffnen4.250Dirk28.09.11 11:39
Re: TreeView füllen, durchsuchen, Node öffnen4.449Dirk.B06.10.11 07:15
Re: TreeView füllen, durchsuchen, Node öffnen4.316Dirk.B07.10.11 09:56
Re: TreeView füllen, durchsuchen, Node öffnen4.286Dirk07.10.11 14:08
Re: TreeView füllen, durchsuchen, Node öffnen4.067Dirk.B12.10.11 21:19

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-2025 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