Standardbearbetning av List-View meddelande

I det här avsnittet visas den fönstermeddelandebearbetning som utförs av en listvykontroll.

Meddelandebearbetning

I följande tabell beskrivs den fönstermeddelandebearbetning som utförs av en listvykontroll.

Meddelande Bearbetningen har utförts
WM_CHAR Söker efter ett listvyobjekt som börjar med det angivna tecknet och, om objektet hittas, väljer och ställer in fokus på objektet. Flera tecken som tas emot inom ett tidsgränsintervall, som för närvarande är fast vid en sekund, sammanfogas och listvisningskontrollen söker efter ett objekt som börjar med den resulterande strängen.
WM_COMMAND Bearbetar EN_UPDATE- och EN_KILLFOCUS-meddelandekoderna och vidarebefordrar alla andra meddelanden om redigeringskontroll till det överordnade fönstret.
WM_CREATE Utför initiering ytterligare för att WM_NCCREATE. Om LVS_SHAREIMAGELISTS fönsterformatet inte har angetts skapar listvisningskontrollen ikonen och de små ikonbildslistorna i det här läget.
WM_DESTROY Frigör resurser som allokerats under WM_CREATE.
WM_ERASEBKGND Raderar fönsterbakgrunden med den aktuella bakgrundsfärgen för listvisningskontrollen. Om bakgrundsfärgen är det CLR_NONE värdet vidarebefordrar listvisningskontrollen meddelandet till det överordnade fönstret.
WM_GETDLGCODE Returnerar en kombination av värdena för DLGC_WANTTAB och DLGC_WANTARROWS.
WM_GETFONT Returnerar handtaget till det aktuella etikettteckensnittet.
WM_HSCROLL Rullar listvisningskontrollen vågrätt.
WM_KEYDOWN Bearbetar blankstegs-, RETUR- och piltangenterna och skickar en LVN_KEYDOWN meddelandekod till det överordnade fönstret.
WM_KILLFOCUS Ommålar det fokuserade listobjektet, om det finns, och skickar en NM_KILLFOCUS meddelandekod till det överordnade fönstret.
WM_LBUTTONDBLCLK Skickar det överordnade fönstret en NM_DBLCLK (listvy) meddelandekod.
WM_LBUTTONDOWN Bearbetas på olika sätt beroende på om en klick- eller dra-åtgärd initieras. För att avgöra vilken åtgärd som ingår, anger listvisningskontrollen en modal meddelandeloop tills antingen knappen släpps eller musen flyttas. Om du klickar kan listvisningskontrollen ändra vilket objekt som har fokus och vilka objekt som väljs, med hänsyn till markörens position, tillståndet för SKIFT- och CTRL-tangenterna och så vidare. Sedan skickar listvisningskontrollen sitt överordnade fönster en NM_CLICK (listvy) meddelandekod.
Om dragen börjar över ett objekt väljer listvisningskontrollen och ställer in fokus på objektet. Sedan skickar den en LVN_BEGINDRAG meddelandekod till det överordnade fönstret. Det överordnade fönstret ansvarar för att faktiskt utföra dragåtgärden.
Om dragen börjar över fönstrets bakgrund, anger listvisningskontrollen en annan modal meddelandeloop, vilket gör att användaren kan bilda en rektangel genom att dra musen. Objekt i rektangeln är markerade.
WM_NCCREATE Allokerar och initierar en intern datastruktur och anropar sedan funktionen DefWindowProc.
WM_NCDESTROY Frigör resurser som allokerats av listvisningskontrollen. Om inte LVS_SHAREIMAGELISTS formatmall används, omfattar detta att ta bort de fullstora och små bildlistorna.
WM_NOTIFY Bearbetar meddelandekoder för rubrikkontroll.
WM_PAINT Visar alla objekt i uppdateringsregionen. För återanropsobjekt skickar kontrollen först en LVN_GETDISPINFO meddelandekod till ägarfönstret för att begära visningsinformation. Om parametern wParam inte är NULL förutsätter kontrollen att värdet är en HDC och målar med den enhetskontexten.
WM_RBUTTONDOWN Bearbetas på samma sätt som WM_LBUTTONDOWN meddelande, förutom att kontrollen skickar en NM_RCLICK (listvy) meddelandekod (i stället för NM_CLICK (listvy)) och en LVN_BEGINRDRAG meddelandekod (i stället för LVN_BEGINDRAG). Observera att kontrollen bearbetar motsvarande WM_RBUTTONUP meddelande och inte skickar det. Program kan därför inte se det här meddelandet, inte ens genom att underklassa kontrollen.
WM_SETFOCUS Ommålar det fokuserade listobjektet, om det finns, och skickar en NM_SETFOCUS meddelandekod till det överordnade fönstret.
WM_SETFONT Sparar det angivna teckensnittshandtaget, vidarebefordrar meddelandet till rubrikfönstret, om det finns något, och ommålar med det nya teckensnittet.
WM_SETREDRAW Aktiverar eller inaktiverar omargning.
WM_TIMER Börjar redigera en objektetikett. Om användaren klickar på etiketten för det fokuserade objektet anger listvisningskontrollen en timer i stället för att ange redigeringsläget omedelbart. Timern gör det möjligt för listvisningskontrollen att inte ange redigeringsläge om användaren dubbelklickar på etiketten.
WM_VSCROLL Rullar listvisningskontrollen lodrätt.
WM_WINDOWPOSCHANGED Uppdaterar fönstrets rullningslister. Om den aktuella vyn är ikon eller liten ikonvy, och LVS_AUTOARRANGE formatmall anges, ordnar listvisningskontrollen även listobjekten.
WM_WININICHANGE Bearbetar ändringar i systemmått.