Standardnachrichtenverarbeitung List-View
In diesem Abschnitt wird die Von einem Listenansichtssteuerelement ausgeführte Fensternachrichtenverarbeitung aufgeführt.
Nachrichtenverarbeitung
In der folgenden Tabelle wird die Fensternachrichtenverarbeitung beschrieben, die von einem Listenansichtssteuerelement ausgeführt wird.
Nachricht | Ausgeführte Verarbeitung |
---|---|
WM_CHAR | Sucht nach einem Listenansichtselement, das mit dem angegebenen Zeichen beginnt. Wenn das Element gefunden wird, wird der Fokus auf das Element ausgewählt und festgelegt. Mehrere Zeichen, die innerhalb eines Timeoutintervalls empfangen werden, das derzeit mit einer Sekunde festgelegt ist, 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_NCCREATEdurch. Wenn die LVS_SHAREIMAGELISTS Fensterformatvorlage nicht angegeben ist, erstellt das Listenansicht-Steuerelement an diesem Punkt das Symbol und kleine Symbolbildlisten. |
WM_DESTROY | Gibt Ressourcen frei, die während WM_CREATEzugeordnet sind. |
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 der werte DLGC_WANTTAB und DLGC_WANTARROWS zurück. |
WM_GETFONT | Gibt das Handle an die aktuelle Bezeichnungsschriftart zurück. |
WM_HSCROLL | Scrollt das Listenansichtssteuerelement horizontal. |
WM_KEYDOWN | Verarbeitet die LEERTASTE, DIE EINGABETASTE und die Pfeiltasten und sendet einen LVN_KEYDOWN Benachrichtigungscode an das übergeordnete Fenster. |
WM_KILLFOCUS | Überschreibt das element mit Relevanz, falls vorhanden, und sendet einen NM_KILLFOCUS Benachrichtigungscode an das übergeordnete Fenster. |
WM_LBUTTONDBLCLK | Sendet das übergeordnete Fenster NM_DBLCLK (Listenansicht) Benachrichtigungscode. |
WM_LBUTTONDOWN | Verarbeitet 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 Meldungsschleife, bis die Schaltfläche losgelassen wird oder die Maus verschoben wird. Im Falle eines Klicks kann das Listenansicht-Steuerelement ändern, welches Element den Fokus hat und welche Elemente ausgewählt sind, wobei die Cursorposition, der Zustand der UMSCHALT- und STRG-TASTE usw. berücksichtigt wird. Anschließend sendet das Listenansicht-Steuerelement das übergeordnete Fenster an eine NM_CLICK (Listenansicht) Benachrichtigungscode. Wenn das Ziehen über ein Element beginnt, wählt das Listenansicht-Steuerelement den Fokus auf das Element aus und legt ihn 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 Meldungsschleife, sodass der Benutzer ein Rechteck erstellen kann, indem er die Maus zieht. Elemente innerhalb des Rechtecks werden ausgewählt. |
WM_NCCREATE | Weist eine interne Datenstruktur zu und initialisiert sie und ruft dann die DefWindowProc--Funktion auf. |
WM_NCDESTROY | Gibt Ressourcen frei, die vom Listenansichtssteuerelement zugeordnet sind. Sofern die LVS_SHAREIMAGELISTS Formatvorlage nicht verwendet wird, schließt dies das Löschen der Listen mit voller Größe und kleinen Bildern ein. |
WM_NOTIFY | Verarbeitet Headersteuerelement-Benachrichtigungscodes. |
WM_PAINT | Zeigt alle Elemente im Aktualisierungsbereich an. Bei Rückrufelementen sendet das Steuerelement zunächst einen LVN_GETDISPINFO Benachrichtigungscode an das Besitzerfenster, um Anzeigeinformationen anzufordern. Wenn der wParam--Parameter ungleich NULL ist, geht das Steuerelement davon aus, dass der Wert ein HDC ist und mit diesem Gerätekontext farben wird. |
WM_RBUTTONDOWN | Verarbeitet auf die gleiche Weise wie die WM_LBUTTONDOWN Nachricht, außer 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 verteilt. Anwendungen können diese Meldung daher nicht sehen, auch wenn sie das Steuerelement unterklassigen. |
WM_SETFOCUS | Überschreibt das element mit Relevanz, falls vorhanden, und sendet einen NM_SETFOCUS Benachrichtigungscode an das übergeordnete Fenster. |
WM_SETFONT | Speichert den angegebenen Schriftpunkt, leitet die Nachricht ggf. an das Kopfzeilenfenster weiter und überschreibt die neue Schriftart erneut. |
WM_SETREDRAW | Aktiviert oder deaktiviert die Neuauszeichnung. |
WM_TIMER | Beginnt mit der Bearbeitung einer Elementbezeichnung. Wenn der Benutzer auf die Beschriftung 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 Bearbeitungsmodus eingeben, wenn der Benutzer auf die Beschriftung doppelkligt. |
WM_VSCROLL | Scrollt das Listenansicht-Steuerelement vertikal. |
WM_WINDOWPOSCHANGED | Aktualisiert die Fensterlaufleisten. Wenn es sich bei der aktuellen Ansicht um eine Symbol- oder kleine Symbolansicht handelt und die LVS_AUTOARRANGE Formatvorlage angegeben ist, ordnet das Listenansichtssteuerelement auch die Listenelemente an. |
WM_WININICHANGE | Verarbeitet Änderungen an Systemmetriken. |