Rubrik: Controls · TreeView | VB-Versionen: VB4, VB5, VB6 | 06.12.05 |
Nur Zahleneingaben im TreeView-Control zulassen Dieser Tipp zeigt, wie sich die Eingabe im TreeView-Control auf reine Zahleneingaben begrenzen lässt. | ||
Autor: Dieter Otter | Bewertung: | Views: 9.878 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Gestern haben wir Ihnen einen Weg gezeigt, wie man die Eingabelänge im TreeView-Editmode begrenzen kann. Heute möchten wir Ihnen zeigen, wie sich die Eingabe selbst auf reine Zahleneingabe begrenzen lässt. Die Vorgehensweise ist hierbei genau so wie beim letzten Tipp.
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 Declare Function SetWindowLong Lib "user32" _ Alias "SetWindowLongA" ( _ ByVal hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Private Declare Function GetWindowLong Lib "user32" _ Alias "GetWindowLongA" ( _ ByVal hwnd As Long, _ ByVal nIndex As Long) As Long Private Const GWL_STYLE = (-16) Private Const TV_FIRST = &H1100 Private Const TVM_GETEDITCONTROL = TV_FIRST + 15 Private Const ES_NUMBER = &H2000
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 ' nur Zahlen-Eingaben zulassen Dim nStyle As Long nStyle = GetWindowLong(hwnd, GWL_STYLE) SetWindowLong hwnd, GWL_STYLE, nStyle Or ES_NUMBER End If End Sub