Rubrik: Allgemein | 15.04.02 |
Was bedeutet hWnd? VB-Version: VB5, VB6 | ||
Views: 38.821 |
Die hWnd-Eigenschaft gibt eine Zugriffsnummer für ein Formular oder Steuerelement zurück, d. h. ein eindeutiger ganzzahliger Wert, der von der Betriebsumgebung definiert wird und von einem Programm verwendet wird, um ein Objekt (zum Beispiel eine Form oder ein Steuerelement) zu kennzeichnen und zu einem Objekt zu wechseln. Meistens wird eine Zugriffsnummer auch als Handle bezeichnet.
Die hWnd-Eigenschaft wird im Zusammenhang mit Aufrufen der Windows-API verwendet. Viele Funktionen der Windows-Arbeitsumgebung benötigen die hWnd-Zugriffsnummer des aktiven Fensters als Argument.
Und hier ein Beispiel zum Ausprobieren:
Sie benötigen eine Form, auf die Sie einen CommandButton und eine ComboBox setzen. Der CommandButton bekommt den TabIndex = 0, die ComboBox den TabIndex = 1. Und jetzt der Code:
Option Explicit ' Funktion deklarieren Private Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Long) As Long ' beim Starten die ComboBox mit Einträgen füllen Private Sub Form_Load() Combo1.AddItem "Frühling" Combo1.AddItem "Sommer" Combo1.AddItem "Herbst" Combo1.AddItem "Winter" End Sub ' wenn die ComboBox den Fokus erhält, automatisch aufklappen Private Sub Combo1_GotFocus() Const CB_SHOWDROPDOWN = &H14F' Konstante für das Aufklappen der ComboBox Dim Tmp ' mittels der Funktion SendMessage die ComboBox aufklappen Tmp = SendMessage(Combo1.hwnd, CB_SHOWDROPDOWN, 1, ByVal 0&) End Sub ' mittels CommandButton den Fokus auf die ComboBox setzen Private Sub Command1_Click() Combo1.SetFocus End Sub