Rubrik: Controls · TreeView | VB-Versionen: VB4, VB5, VB6 | 05.12.05 |
Eingabelänge im TreeView-Control begrenzen Dieser Tipp zeigt, wie sich die Eingabelänge im TreeView-Control auf eine bestimmte Anzahl Zeichen begrenzen lässt. | ||
Autor: Dieter Otter | Bewertung: | Views: 11.291 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Das TreeView-Control verfügt bekanntlich über eine autom. Editier-Funktion, mit der sich der Inhalt eines Node-Objektes zur Laufzeit editieren lässt. Leider gibt es aber keine Eigenschaft, mit der sich die Eingabelänge auf eine maximal zulässige Anzahl von Zeichen begrenzen lässt.
Mit ein bisschen API lässt sich das aber wie folgt realisieren.
Option Explicit ' Benötigte API-Deklarationen Private Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" ( _ ByVal hWnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any) As Long Private Const TV_FIRST = &H1100 Private Const TVM_GETEDITCONTROL = TV_FIRST + 15 Private Const EM_LIMITTEXT = &HC5
Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer) ' Handle der Eingabebox ermitteln Dim hWnd As Long hWnd = SendMessage(TreeView1.hWnd, TVM_GETEDITCONTROL, 0, 0) If hWnd <> 0 Then ' maximale Eingabelänge bspw. auf 10 Zeichen festlegen SendMessage hWnd, EM_LIMITTEXT, 10, 0 End If End Sub