Standardnachrichtenverarbeitung List-View

In diesem Abschnitt wird die Fensternachrichtenverarbeitung aufgeführt, die von einem Listenansichtssteuerelement ausgeführt wird.

Nachrichtenverarbeitung

In der folgenden Tabelle wird die Fensternachrichtenverarbeitung beschrieben, die von einem Listenansichtssteuerelement ausgeführt wird.

Nachricht Durchgeführte Verarbeitung
WM_CHAR Sucht nach einem Listenansichtselement, das mit dem angegebenen Zeichen beginnt, und wählt, wenn das Element gefunden wird, und legt den Fokus auf das Element fest. Mehrere Innerhalb eines Timeoutintervalls empfangene Zeichen, die derzeit auf eine Sekunde festgelegt sind, werden verkettet, und das Listenansicht-Steuerelement sucht nach einem Element, das mit der resultierenden Zeichenfolge beginnt.
WM_COMMAND Verarbeitet die EN_UPDATE und EN_KILLFOCUS Benachrichtigungscodes und leitet alle anderen Bearbeitungssteuerelementbenachrichtigungen an das übergeordnete Fenster weiter.
WM_CREATE Führt die Initialisierung zusätzlich zu WM_NCCREATE aus. Wenn die LVS_SHAREIMAGELISTS Fensterformat nicht angegeben ist, erstellt das Listenansicht-Steuerelement an diesem Punkt die Symbol- und kleinen Symbolbildlisten.
WM_DESTROY Gibt Ressourcen frei, die während der WM_CREATE zugewiesen wurden.
WM_ERASEBKGND Löscht den Fensterhintergrund mithilfe der aktuellen Hintergrundfarbe für das Listenansicht-Steuerelement. Wenn die Hintergrundfarbe der CLR_NONE Wert ist, leitet das Listenansicht-Steuerelement die Nachricht an das übergeordnete Fenster weiter.
WM_GETDLGCODE Gibt eine Kombination aus den DLGC_WANTTAB- und DLGC_WANTARROWS-Werten zurück.
WM_GETFONT Gibt das Handle an die aktuelle Bezeichnungsschriftart zurück.
WM_HSCROLL Führt einen horizontalen Bildlauf im Listenansichtssteuerelement durch.
WM_KEYDOWN Verarbeitet die LEERTASTE, DIE EINGABETASTE und die Pfeiltasten und sendet einen LVN_KEYDOWN Benachrichtigungscode an das übergeordnete Fenster.
WM_KILLFOCUS Erstellt das fokussierte Listenelement (sofern vorhanden) neu und sendet einen NM_KILLFOCUS Benachrichtigungscode an das übergeordnete Fenster.
WM_LBUTTONDBLCLK Sendet dem übergeordneten Fenster einen NM_DBLCLK -Benachrichtigungscode (Listenansicht).
WM_LBUTTONDOWN Die Verarbeitung erfolgt auf unterschiedliche Weise, je nachdem, ob ein Klick- oder Ziehvorgang initiiert wird. Um zu bestimmen, welcher Vorgang beteiligt ist, wechselt das Listenansicht-Steuerelement in eine modale Nachrichtenschleife, bis entweder die Schaltfläche losgelassen oder die Maus bewegt wird. Bei einem Klick kann das Listenansicht-Steuerelement ändern, welches Element den Fokus hat und welche Elemente ausgewählt werden, wobei die Cursorposition, der Zustand der UMSCHALT- und STRG-TASTE usw. berücksichtigt wird. Anschließend sendet das Listenansicht-Steuerelement seinem übergeordneten Fenster einen NM_CLICK -Benachrichtigungscode (Listenansicht).
Wenn das Ziehen über ein Element beginnt, wählt das Listenansichtssteuerelement das Element aus und legt den Fokus auf das Element fest. Anschließend wird ein LVN_BEGINDRAG Benachrichtigungscode an das übergeordnete Fenster gesendet. Das übergeordnete Fenster ist dafür verantwortlich, den Ziehvorgang tatsächlich auszuführen.
Wenn das Ziehen über den Fensterhintergrund beginnt, wechselt das Listenansicht-Steuerelement in eine andere modale Nachrichtenschleife, sodass der Benutzer ein Rechteck durch Ziehen der Maus bilden kann. Elemente innerhalb des Rechtecks werden ausgewählt.
WM_NCCREATE Ordnet eine interne Datenstruktur zu und initialisiert sie und ruft dann die DefWindowProc-Funktion auf.
WM_NCDESTROY Gibt Ressourcen frei, die vom Listenansicht-Steuerelement zugeordnet sind. Sofern nicht der LVS_SHAREIMAGELISTS Stil verwendet wird, umfasst dies das Löschen der Listen in voller Größe und kleinen Bildern.
WM_NOTIFY Benachrichtigungscodes für Die Headersteuerung werden verarbeitet.
WM_PAINT Zeigt alle Elemente im Updatebereich an. Bei Rückrufelementen sendet das Steuerelement zunächst einen LVN_GETDISPINFO Benachrichtigungscode an das Besitzerfenster, um Anzeigeinformationen anzufordern. Wenn der wParam-Parameter nicht NULL ist, geht das Steuerelement davon aus, dass der Wert ein HDC ist, und zeichnet mit diesem Gerätekontext.
WM_RBUTTONDOWN Wird auf die gleiche Weise wie die WM_LBUTTONDOWN-Nachricht verarbeitet, mit der Ausnahme, dass das Steuerelement einen NM_RCLICK (Listenansicht) Benachrichtigungscode (anstelle von NM_CLICK (Listenansicht)) und einen LVN_BEGINRDRAG Benachrichtigungscode (anstelle von LVN_BEGINDRAG) sendet. Beachten Sie, dass das Steuerelement die entsprechende WM_RBUTTONUP Nachricht verarbeitet und nicht versendet. Anwendungen können diese Meldung daher nicht sehen, selbst wenn sie das Steuerelement unterklassigen.
WM_SETFOCUS Erstellt das fokussierte Listenelement ggf. neu und sendet einen NM_SETFOCUS Benachrichtigungscode an das übergeordnete Fenster.
WM_SETFONT Speichert das angegebene Schriftarthandle, leitet die Nachricht ggf. an das Kopfzeilenfenster weiter und erstellt die neue Schriftart erneut.
WM_SETREDRAW Aktiviert oder deaktiviert das Neuzeichnen.
WM_TIMER Beginnt mit der Bearbeitung einer Elementbezeichnung. Wenn der Benutzer auf die Bezeichnung des fokussierten Elements klickt, legt das Listenansicht-Steuerelement einen Timer fest, anstatt sofort in den Bearbeitungsmodus zu wechseln. Der Timer ermöglicht es, dass das Listenansicht-Steuerelement nicht in den Bearbeitungsmodus wechselt, wenn der Benutzer auf die Bezeichnung doppelklicken.
WM_VSCROLL Führt einen vertikalen Bildlauf im Listenansichtssteuerelement durch.
WM_WINDOWPOSCHANGED Updates die Fensterlaufleisten. Wenn es sich bei der aktuellen Ansicht um eine Symbolansicht oder eine kleine Symbolansicht handelt und die LVS_AUTOARRANGE Formatvorlage angegeben ist, ordnet das Listenansicht-Steuerelement auch die Listenelemente an.
WM_WININICHANGE Verarbeitet Änderungen an Systemmetriken.