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. |