Výchozí zpracování zpráv List-View
Tato část obsahuje seznam zpracování zpráv okna prováděné ovládacím prvku zobrazení seznamu.
Zpracování zpráv
Následující tabulka popisuje zpracování zpráv okna prováděné ovládacím prvku zobrazení seznamu.
Zpráva | Provedené zpracování |
---|---|
WM_CHAR | Vyhledá položku zobrazení seznamu, která začíná zadaným znakem, a pokud se položka najde, vybere a nastaví fokus na položku. V intervalu časového limitu, který je aktuálně opravený během jedné sekundy, se zřetědí více znaků a ovládací prvek zobrazení seznamu vyhledá položku, která začíná výsledným řetězcem. |
WM_COMMAND | Zpracuje EN_UPDATE a EN_KILLFOCUS kódy oznámení a přepošlá všechna ostatní oznámení ovládacích prvků pro úpravy do nadřazeného okna. |
WM_CREATE | Provede inicializaci další WM_NCCREATE. Pokud není zadaný styl okna LVS_SHAREIMAGELISTS, ovládací prvek zobrazení seznamu v tomto okamžiku vytvoří ikonu a malé seznamy obrázků ikon. |
WM_DESTROY | Uvolní prostředky přidělené během WM_CREATE. |
WM_ERASEBKGND | Vymaže pozadí okna pomocí aktuální barvy pozadí ovládacího prvku zobrazení seznamu. Pokud je barva pozadí hodnotou CLR_NONE, přepošla ovládací prvek zobrazení seznamu zprávu do nadřazeného okna. |
WM_GETDLGCODE | Vrátí kombinaci hodnot DLGC_WANTTAB a DLGC_WANTARROWS. |
WM_GETFONT | Vrátí popisovač k aktuálnímu písmu popisku. |
WM_HSCROLL | Posune ovládací prvek zobrazení seznamu vodorovně. |
WM_KEYDOWN | Zpracuje mezerník, ENTER a šipkové klávesy a odešle kód oznámení LVN_KEYDOWN do nadřazeného okna. |
WM_KILLFOCUS | Přeformátuje položku prioritního seznamu (pokud existuje) a odešle kód oznámení NM_KILLFOCUS do nadřazeného okna. |
WM_LBUTTONDBLCLK | Odešle nadřazené okno NM_DBLCLK (zobrazení seznamu) kódu oznámení. |
WM_LBUTTONDOWN | Zpracovává se různými způsoby v závislosti na tom, jestli se spouští operace kliknutí nebo přetažení. Pokud chcete určit, která operace se týká, ovládací prvek zobrazení seznamu přejde do modální smyčky zpráv, dokud se tlačítko uvolní nebo myš nepřesune. V případě kliknutí může ovládací prvek zobrazení seznamu změnit, která položka má fokus a které položky jsou vybrány, s ohledem na pozici kurzoru, stav kláves SHIFT a CTRL atd. Potom ovládací prvek zobrazení seznamu odešle nadřazené okno NM_CLICK (zobrazení seznamu) kód oznámení. Pokud přetahování začíná nad položkou, ovládací prvek zobrazení seznamu vybere a nastaví fokus na položku. Pak odešle kód oznámení LVN_BEGINDRAG do nadřazeného okna. Nadřazené okno je zodpovědné za skutečné provedení operace přetažení. Pokud přetahování začíná přes pozadí okna, ovládací prvek zobrazení seznamu zadá další modální smyčku zpráv, která uživateli umožní vytvořit obdélník přetažením myši. Jsou vybrány položky v obdélníku. |
WM_NCCREATE | Přidělí a inicializuje interní datovou strukturu a potom volá funkci DefWindowProc. |
WM_NCDESTROY | Uvolní prostředky přidělené ovládacím prvku zobrazení seznamu. Pokud se nepoužívá styl LVS_SHAREIMAGELISTS, zahrnuje odstranění seznamů obrázků s plnou velikostí a malými obrázky. |
WM_NOTIFY | Zpracovává kódy oznámení o řízení hlaviček. |
WM_PAINT | Zobrazí všechny položky v oblasti aktualizace. U položek zpětného volání ovládací prvek nejprve odešle kód oznámení LVN_GETDISPINFO do okna vlastníka, aby požádal o informace o zobrazení. Pokud parametr wParam není NULL, ovládací prvek předpokládá, že hodnota je HDC a maluje pomocí kontextu zařízení. |
WM_RBUTTONDOWN | Zpracoval se stejným způsobem jako zpráva WM_LBUTTONDOWN s tím rozdílem, že ovládací prvek odesílá NM_RCLICK (zobrazení seznamu) kód oznámení (místo NM_CLICK (zobrazení seznamu)) a kód oznámení LVN_BEGINRDRAG (místo LVN_BEGINDRAG). Všimněte si, že ovládací prvek zpracovává odpovídající WM_RBUTTONUP zprávu a neodesílají ji. Aplikace proto tuto zprávu nevidí, a to ani podtřídou ovládacího prvku. |
WM_SETFOCUS | Přeformátuje položku prioritního seznamu (pokud existuje) a odešle kód oznámení NM_SETFOCUS do nadřazeného okna. |
WM_SETFONT | Uloží zadaný popisovač písma, přepošlá zprávu do okna záhlaví( pokud existuje) a překreslí pomocí nového písma. |
WM_SETREDRAW | Zapne nebo vypne překreslení. |
WM_TIMER | Začne upravovat popisek položky. Pokud uživatel klikne na popisek prioritní položky, ovládací prvek zobrazení seznamu nastaví časovač místo okamžitého vstupu do režimu úprav. Časovač umožňuje, aby ovládací prvek zobrazení seznamu ne vstup do režimu úprav, pokud uživatel dvakrát klikne na popisek. |
WM_VSCROLL | Posune ovládací prvek zobrazení seznamu svisle. |
WM_WINDOWPOSCHANGED | Aktualizuje posuvníky okna. Pokud je aktuální zobrazení ikonou nebo malým zobrazením ikon a je zadán styl LVS_AUTOARRANGE, ovládací prvek zobrazení seznamu také uspořádá položky seznamu. |
WM_WININICHANGE | Zpracovává změny systémových metrik. |