Standaard List-View berichtverwerking
In deze sectie wordt de verwerking van vensterberichten weergegeven die worden uitgevoerd door een besturingselement voor de lijstweergave.
Berichtverwerking
In de volgende tabel wordt de verwerking van vensterberichten beschreven die worden uitgevoerd door een besturingselement voor de lijstweergave.
Bericht | Verwerking uitgevoerd |
---|---|
WM_CHAR | Zoekt naar een lijstweergave-item dat begint met het opgegeven teken en, als het item wordt gevonden, de focus op het item selecteert en instelt. Meerdere tekens die binnen een time-outinterval zijn ontvangen, die momenteel met één seconde zijn vastgelegd, worden samengevoegd en het besturingselement voor de lijstweergave zoekt naar een item dat begint met de resulterende tekenreeks. |
WM_COMMAND | Hiermee worden de EN_UPDATE en EN_KILLFOCUS meldingscodes verwerkt en worden alle andere bewerkingsbeheermeldingen doorgestuurd naar het bovenliggende venster. |
WM_CREATE | Initialisatie wordt extra uitgevoerd voor WM_NCCREATE. Als de stijl van het LVS_SHAREIMAGELISTS venster niet is opgegeven, worden in het besturingselement lijstweergave het pictogram en de lijst met kleine pictogramafbeeldingen op dit moment gemaakt. |
WM_DESTROY | Resources vrij die zijn toegewezen tijdens WM_CREATE. |
WM_ERASEBKGND | Hiermee wist u de achtergrond van het venster met behulp van de huidige achtergrondkleur voor het besturingselement lijstweergave. Als de achtergrondkleur de CLR_NONE waarde is, stuurt het besturingselement voor de lijstweergave het bericht door naar het bovenliggende venster. |
WM_GETDLGCODE | Retourneert een combinatie van de waarden DLGC_WANTTAB en DLGC_WANTARROWS. |
WM_GETFONT | Retourneert de ingang naar het huidige lettertype van het label. |
WM_HSCROLL | Schuift het besturingselement voor de lijstweergave horizontaal. |
WM_KEYDOWN | De spatiebalk, ENTER en pijltoetsen worden verwerkt en er wordt een LVN_KEYDOWN meldingscode naar het bovenliggende venster verzonden. |
WM_KILLFOCUS | Hiermee wordt het lijstitem met prioriteit, indien aanwezig, opnieuw weergegeven en wordt er een NM_KILLFOCUS meldingscode naar het bovenliggende venster verzonden. |
WM_LBUTTONDBLCLK | Hiermee verzendt u het bovenliggende venster een NM_DBLCLK (lijstweergave) meldingscode. |
WM_LBUTTONDOWN | Verwerkt op verschillende manieren, afhankelijk van of een klik- of sleepbewerking wordt gestart. Om te bepalen welke bewerking wordt uitgevoerd, voert het besturingselement voor de lijstweergave een modale berichtenlus in totdat de knop wordt losgelaten of de muis wordt verplaatst. In het geval van een klik kan het besturingselement voor de lijstweergave wijzigen welk item de focus heeft en welke items zijn geselecteerd, rekening houdend met de cursorpositie, de status van de Shift- en Ctrl-toetsen, enzovoort. Vervolgens verzendt het besturingselement lijstweergave het bovenliggende venster een NM_CLICK (lijstweergave) meldingscode. Als het slepen over een item begint, selecteert het besturingselement voor de lijstweergave de focus en stelt u de focus in op het item. Vervolgens wordt er een LVN_BEGINDRAG meldingscode naar het bovenliggende venster verzonden. Het bovenliggende venster is verantwoordelijk voor het uitvoeren van de sleepbewerking. Als het slepen begint op de achtergrond van het venster, voert het besturingselement lijstweergave een andere modale berichtlus in, zodat de gebruiker een rechthoek kan vormen door de muis te slepen. Items in de rechthoek zijn geselecteerd. |
WM_NCCREATE | Wijst een interne gegevensstructuur toe en initialiseert deze en roept vervolgens de functie DefWindowProc aan. |
WM_NCDESTROY | Hiermee worden resources vrijgemaakt die zijn toegewezen door het besturingselement lijstweergave. Tenzij de LVS_SHAREIMAGELISTS stijl wordt gebruikt, is dit inclusief het verwijderen van de lijsten met volledige en kleine afbeeldingen. |
WM_NOTIFY | Hiermee worden meldingscodes voor headerbeheer verwerkt. |
WM_PAINT | Geeft items weer in de updateregio. Voor callback-items verzendt het besturingselement eerst een LVN_GETDISPINFO meldingscode naar het eigenaarsvenster om weergavegegevens aan te vragen. Als de parameter wParam niet NULL is, gaat het besturingselement ervan uit dat de waarde een HDC is en verft met behulp van die apparaatcontext. |
WM_RBUTTONDOWN | Verwerkt op dezelfde manier als het WM_LBUTTONDOWN bericht, behalve dat het besturingselement een NM_RCLICK (lijstweergave) meldingscode (in plaats van NM_CLICK (lijstweergave)) en een LVN_BEGINRDRAG meldingscode (in plaats van LVN_BEGINDRAG) verzendt. Houd er rekening mee dat het besturingselement het bijbehorende WM_RBUTTONUP bericht verwerkt en niet verzendt. Toepassingen kunnen dit bericht dus niet zien, zelfs niet door het besturingselement te subklassen. |
WM_SETFOCUS | Hiermee wordt het item in de lijst met prioriteit, indien aanwezig, opnieuw weergegeven en wordt er een NM_SETFOCUS meldingscode naar het bovenliggende venster verzonden. |
WM_SETFONT | Hiermee wordt de opgegeven lettertypegreep opgeslagen, wordt het bericht doorgestuurd naar het koptekstvenster, indien van toepassing, en wordt het nieuwe lettertype opnieuw gebruikt. |
WM_SETREDRAW | Hiermee schakelt u opnieuw tekenen in of uit. |
WM_TIMER | Begint met bewerken van een itemlabel. Als de gebruiker op het label van het item met prioriteit klikt, stelt het besturingselement voor de lijstweergave een timer in in plaats van de bewerkingsmodus onmiddellijk in te schakelen. De timer maakt het mogelijk dat het besturingselement voor de lijstweergave niet in de bewerkingsmodus als de gebruiker dubbelklikt op het label. |
WM_VSCROLL | Schuift het besturingselement voor de lijstweergave verticaal. |
WM_WINDOWPOSCHANGED | Hiermee werkt u de schuifbalken van het venster bij. Als de huidige weergave pictogramweergave of kleine pictogramweergave is en de stijl LVS_AUTOARRANGE is opgegeven, rangschikt het besturingselement voor de lijstweergave ook de lijstitems. |
WM_WININICHANGE | Verwerkt wijzigingen in metrische systeemgegevens. |