WM_VKEYTOITEM-Meldung

Gesendet von einem Listenfeld mit dem Format LBS_WANTKEYBOARDINPUT an seinen Besitzer als Reaktion auf eine WM_KEYDOWN-Meldung.

WM_VKEYTOITEM

    WPARAM wParam;
    LPARAM lParam; 

Parameter

wParam

Das LOWORD gibt den virtuellen Tastencode der Taste an, die der Benutzer gedrückt hat. HIWORD gibt die aktuelle Position des Textcursors an.

lParam

Ziehpunkt für das Listenfeld.

Rückgabewert

Der Rückgabewert gibt die Aktion an, die die Anwendung als Reaktion auf die Nachricht ausgeführt hat. Ein Rückgabewert von -2 gibt an, dass die Anwendung alle Aspekte der Auswahl des Elements behandelt hat und keine weitere Aktion durch das Listenfeld erfordert. (Siehe Anmerkungen.) Ein Rückgabewert von -1 gibt an, dass das Listenfeld als Reaktion auf den Tastenanschlag die Standardaktion ausführen soll. Ein Rückgabewert von 0 oder höher gibt den Index eines Elements im Listenfeld an und gibt an, dass das Listenfeld die Standardaktion für den Tastenanschlag für das angegebene Element ausführen soll.

Hinweise

Ein Rückgabewert von -2 ist nur für Tasten gültig, die vom Listenfeld-Steuerelement nicht in Zeichen übersetzt werden. Wenn die WM_KEYDOWN-Meldung in eine WM_CHAR-Meldung übersetzt wird und die Anwendung die WM_VKEYTOITEM-Meldung verarbeitet, die als Ergebnis des Drückens der Taste generiert wurde, ignoriert das Listenfeld den Rückgabewert und führt die Standardverarbeitung für dieses Zeichen aus. WM_KEYDOWN-Meldungen, die von Schlüsseln wie VK_UP, VK_DOWN, VK_NEXT und VK_PREVIOUS generiert werden, werden nicht in WM_CHAR-Meldungen übersetzt. In solchen Fällen verhindert das Abfangen der WM_VKEYTOITEM-Meldung und das Zurückgeben von -2, dass das Listenfeld die Standardverarbeitung für diesen Schlüssel ausführt.

Zum Auffangen von Schlüsseln, die eine Zeichennachricht generieren und eine spezielle Verarbeitung durchführen, muss die Anwendung das Listenfeld unterklassig machen, sowohl die WM_KEYDOWN- als auch WM_CHAR-Meldungen abfangen und die Meldungen entsprechend in der Unterklassenprozedur verarbeiten.

Die vorstehenden Hinweise gelten für reguläre Listenfelder, die mit der LBS_WANTKEYBOARDINPUT-Formatvorlage erstellt werden. Wenn das Listenfeld vom Besitzer gezeichnet wird, muss die Anwendung die WM_CHARTOITEM-Meldung verarbeiten.

Die DefWindowProc-Funktion gibt -1 zurück.

Wenn eine Dialogfeldprozedur diese Meldung behandelt, sollte sie den gewünschten Rückgabewert in einen BOOL-Wert umwandeln und ihn direkt zurückgeben. Der von der SetWindowLong-Funktion festgelegte DWL_MSGRESULT-Wert wird ignoriert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2003 [nur Desktop-Apps]
Header
Winuser.h (einschließlich Windows.h)

Siehe auch

Referenz

WM_CHARTOITEM

Weitere Ressourcen

HIWORD

LOWORD

WM_KEYDOWN