Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ovládací prvek stromového zobrazení je okno, které zobrazuje hierarchický seznam položek, například nadpisy v dokumentu, položky v indexu nebo soubory a adresáře na disku. Každá položka se skládá z popisku a volitelného rastrového obrázku a každá položka může mít přiřazený seznam dílčích položek. Kliknutím na položku může uživatel rozbalit nebo sbalit přidružený seznam dílčích položek.
Následující obrázek znázorňuje jednoduchý ovládací prvek stromového zobrazení s kořenovým uzlem, rozbaleným uzlem a sbaleným uzlem. Ovládací prvek používá jeden rastrový obrázek pro vybranou položku a jiný rastrový obrázek pro jiné položky.
Po vytvoření ovládacího prvku stromového zobrazení přidáte, odeberete, uspořádáte nebo jinak s položkami manipulujete odesláním zpráv do ovládacího prvku. Každá zpráva obsahuje jedno nebo více odpovídajících maker, která můžete použít místo explicitního odeslání zprávy.
V této části jsou popsána následující témata.
- Tree-View styly
- Nadřazené a podřízené položky
- popisky položek
- Tree-View Úpravy Popisků
- umístění položky Tree-View
- Tree-View Přehled stavů položek
- výběr položky
- informace o položce
- Tree-View Seznamy obrázků
- operace přetažením
- Tree-View Řídicí zprávy pro oznámení
- výchozí Tree-View ovládací zpracování zpráv
- související témata
Styly Tree-View
Styly stromového zobrazení určují aspekty vzhledu ovládacího prvku stromového zobrazení. Při vytváření ovládacího prvku stromového zobrazení nastavíte počáteční styly. Styly můžete načíst a změnit po vytvoření ovládacího prvku stromové zobrazení pomocí funkcí GetWindowLong a SetWindowLong.
Styl TVS_HASLINES vylepšuje grafické znázornění hierarchie ovládacího prvku stromového zobrazení nakreslením čar, které propojí podřízené položky s nadřazenou položkou, jak je znázorněno na následujícím obrázku.
Tento styl sám o sobě nekreslí čáry u kořenu hierarchie. K tomu je potřeba zkombinovat styly TVS_HASLINES a TVS_LINESATROOT. Výsledek je znázorněn na následujícím obrázku.
Uživatel může rozbalit nebo sbalit seznam podřízených položek poklikáním na nadřazenou položku. Ovládací prvek stromového zobrazení s stylem TVS_HASBUTTONS přidává tlačítko na levou stranu každé nadřazené položky. Uživatel může provést kliknutí na tlačítko jednou místo dvojkliku na nadřazenou položku pro rozbalení nebo sbalení podřízené položky. TVS_HASBUTTONS nepřidává tlačítka k položkám v kořenu hierarchie. K tomu je nutné kombinovat TVS_HASLINES, TVS_LINESATROOTa TVS_HASBUTTONS. Tato kombinace stylů je znázorněna na následujícím obrázku.
Styl TVS_CHECKBOXES vytvoří zaškrtávací políčka vedle každé položky. Pokud chcete použít styl zaškrtávacího políčka, je nutné nastavit styl TVS_CHECKBOXES (s SetWindowLong) po vytvoření ovládacího prvku stromového zobrazení a před naplněním stromu. V opačném případě se zaškrtávací políčka můžou zobrazovat nezaškrtnutá v závislosti na problémech s časováním. Následující obrázek znázorňuje styl zaškrtávacího políčka.
Styl TVS_FULLROWSELECT způsobí, že zvýraznění výběru se rozšíří o celou šířku ovládacího prvku, ne jenom o samotnou položku. Následující obrázek znázorňuje tento styl.
Styl TVS_EDITLABELS umožňuje uživateli upravovat popisky položek stromového zobrazení. Další informace o úpravách popisků viz Tree-View Úpravy popisků.
Další informace o těchto a dalších stylech naleznete v tématu Tree-View styly ovládacího okna.
Nadřazené a podřízené položky
Každá položka v ovládacím prvku stromového zobrazení může mít přidružený seznam dílčích položek, nazývaných podřízené položky. Položka, která má jednu nebo více podřízených položek, se nazývá rodičovská položka. Podřízená položka se zobrazí pod nadřazenou položkou a je odsazená, aby bylo zřejmé, že je podřízená. Položka, která nemá žádné nadřazené položky, se zobrazí v horní části hierarchie a označuje se jako kořenová položka.
Pokud chcete přidat položku do ovládacího prvku stromového zobrazení, odešlete do ovládacího prvku zprávu TVM_INSERTITEM. Zpráva vrátí popisovač typu HTREEITEM, který jednoznačně identifikuje položku. Při přidávání položky je nutné zadat popisovač nadřazené položky. Pokud zadáte NULL nebo hodnotu TVI_ROOT namísto popisovače nadřazené položky ve struktuře TVINSERTSTRUCT, položka se přidá jako kořenová položka.
Stav seznamu podřízených položek nadřazené položky může být kdykoli rozbalený nebo sbalený. Když je stav rozbalen, podřízené položky se zobrazí pod nadřazenou položkou. Když je sbalený, podřízené položky se nezobrazí. Seznam se automaticky přepíná mezi stavem rozbaleným a sbaleným, když uživatel dvojklikne na nadřazenou položku, nebo pokud má nadřazená položka styl TVS_HASBUTTONS, když uživatel klikne na tlačítko spojené s nadřazenou položkou. Aplikace může rozbalit nebo sbalit podřízené položky pomocí TVM_EXPAND zprávy.
Ovládací prvek stromového zobrazení odešle nadřazenému oknu oznámení TVN_ITEMEXPANDING, když se má rozbalit nebo sbalit seznam podřízených položek související s nadřazenou položkou. Oznámení dává aplikaci příležitost zabránit změně nebo nastavit jakékoli atributy nadřazené položky, které závisí na stavu seznamu podřízených položek. Po změně stavu seznamu odešle ovládací prvek stromového zobrazení do nadřazeného okna zprávu oznámení TVN_ITEMEXPANDED.
Když se rozbalí seznam podřízených položek, odsadí se vzhledem k nadřazené položce. Velikost odsazení můžete nastavit pomocí zprávy TVM_SETINDENT nebo načíst aktuální velikost pomocí zprávy TVM_GETINDENT.
Ovládací prvek stromového zobrazení používá paměť přidělenou z haldy procesu, který vytváří ovládací prvek stromového zobrazení. Maximální počet položek ve stromovém zobrazení vychází z množství paměti dostupné v haldě.
Popisky položek
Při přidávání položky do ovládacího prvku stromového zobrazení obvykle zadáte text popisku položky. Zpráva TVM_INSERTITEM obsahuje strukturu TVITEM, která definuje vlastnosti položky, včetně řetězce obsahujícího text popisku.
Ovládací prvek stromového zobrazení přiděluje paměť pro ukládání každé položky; text popisků položek zabírá významnou část této paměti. Pokud aplikace udržuje kopii řetězců v ovládacím prvku stromového zobrazení, můžete snížit požadavky na paměť ovládacího prvku zadáním hodnoty LPSTR_TEXTCALLBACK v pszText člen TVITEM namísto předání skutečných řetězců do stromového zobrazení. Použití LPSTR_TEXTCALLBACK způsobí, že ovládací prvek stromového zobrazení načte text popisku položky z nadřazeného okna, kdykoli je potřeba položku překreslit. Pokud chcete načíst text, ovládací prvek stromového zobrazení odešle notifikační zprávu TVN_GETDISPINFO, která obsahuje adresu struktury NMTVDISPINFO. Nadřazené okno musí vyplnit příslušné členy zahrnuté struktury.
Tree-View Úpravy popisků
Uživatel může přímo upravit popisky položek v ovládacím prvku stromového zobrazení, který má styl TVS_EDITLABELS. Uživatel začne upravovat kliknutím na popisek položky, která má fokus. Aplikace začne upravovat pomocí zprávy TVM_EDITLABEL. Ovládací prvek stromového zobrazení upozorní nadřazené okno při zahájení úprav a po zrušení nebo dokončení. Po dokončení úprav zodpovídá nadřazené okno za aktualizaci popisku položky, pokud je to vhodné.
Při zahájení úprav popisků pošle ovládací prvek stromového zobrazení nadřazenému oknu TVN_BEGINLABELEDIT oznamovací zprávu. Zpracováním tohoto oznámení může aplikace povolit úpravy některých popisků a zabránit úpravám jiných. Vrácení nuly umožňuje úpravy a vrácení nenulové brání.
Když je úprava popisků zrušena nebo dokončena, stromový ovládací prvek odešle nadřazenému oknu notifikační zprávu TVN_ENDLABELEDIT. Parametr lParam je adresa struktury NMTVDISPINFO. Parametr položky je struktura TVITEM, která identifikuje položku a obsahuje upravený text. Nadřazené okno zodpovídá za aktualizaci popisku položky, pokud chce nový štítek zachovat. pszText člen objektu TVITEM má hodnotu nula, pokud je úprava zrušena.
Během úprav popisků, obvykle v reakci na zprávu TVN_BEGINLABELEDIT oznámení, můžete pomocí TVM_GETEDITCONTROL zprávy načíst popisovač do ovládacího prvku pro úpravy popisku. Můžete odeslat ovládacímu prvku pro úpravy zprávu EM_SETLIMITTEXT, která omezí množství textu, který může uživatel zadat, nebo podtřídit ovládací prvek pro úpravy, abyste zachytili a zahodili neplatné znaky. Všimněte si však, že ovládací prvek pro úpravy se zobrazí pouze po odeslání TVN_BEGINLABELEDIT.
Poloha položky Tree-View
Počáteční pozice položky je nastavena při přidání položky do ovládacího prvku stromové zobrazení pomocí TVM_INSERTITEM zprávy. Zpráva zahrnuje strukturu TVINSERTSTRUCT, která určuje popisovač nadřazené položky a popisovač položky, za kterou má být nová položka vložena. Druhý popisovač musí identifikovat podřízenou položku daného nadřazeného objektu nebo jednu z těchto hodnot: TVI_FIRST, TVI_LAST nebo TVI_SORT.
Při zadání TVI_FIRST nebo TVI_LAST umístí ovládací prvek stromového zobrazení novou položku na začátek nebo konec seznamu podřízených položek dané nadřazené položky. Po zadání TVI_SORT vloží ovládací prvek stromového zobrazení novou položku do seznamu podřízených položek v abecedním pořadí podle textu štítků položek.
Seznam položek podřízených nadřazené položce můžete seřadit v abecedním pořadí pomocí zprávy TVM_SORTCHILDREN. Zpráva obsahuje parametr, který určuje, zda všechny úrovně podřízených položek sestupně od dané nadřazené položky jsou také seřazeny v abecedním pořadí.
Zpráva TVM_SORTCHILDRENCB umožňuje řadit podřízené položky na základě vámi definovaných kritérií. Při použití této zprávy zadáte funkci zpětného volání definovanou aplikací, kterou může ovládací prvek stromového zobrazení volat kdykoliv je potřeba rozhodnout relativní pořadí dvou podřízených položek. Funkce zpětného volání obdrží dvě 32bitové hodnoty definované aplikací pro porovnávané položky a třetí 32bitovou hodnotu, kterou zadáte při odesílání TVM_SORTCHILDRENCB.
Přehled stavů položek Tree-View
Každá položka v ovládacím prvku stromového zobrazení má aktuální stav. Informace o stavu pro každou položku zahrnují sadu bitových příznaků a indexy seznamu obrázků, které označují obrázek stavu položky a překryvný obrázek. Bitové příznaky označují, jestli je položka vybraná, deaktivovaná, rozbalená atd. Ve většině případů ovládací prvek stromového zobrazení automaticky nastaví stav položky tak, aby odrážel akce uživatele, například výběr položky. Stav položky ale můžete nastavit také pomocí zprávy TVM_SETITEM a aktuální stav položky můžete načíst pomocí zprávy TVM_GETITEM. Úplný seznam stavů ovládacích prvků najdete v tématu Tree-View Stavy položek.
Aktuální stav položky je určen stavem člen struktury TVITEM. Ovládací prvek stromového zobrazení může změnit stav položky tak, aby odrážel akci uživatele, například výběr položky nebo nastavení fokusu na položku. Kromě toho může aplikace změnit stav položky tak, aby tuto položku zakázala nebo skrývala nebo aby určila překryvný obrázek nebo obrázek stavu.
Když zadáte nebo změníte stav položky, stavová maska člen TVITEM určuje, které bity stavu se mají nastavit, a stav člen obsahuje nové hodnoty pro tyto bity.
Pokud chcete nastavit překryvný obrázek položky, musí stavová maska obsahovat hodnotu TVIS_OVERLAYMASK a stav musí obsahovat jednotkový index překryvného obrázku posunutý o 8 bitů doleva pomocí makra INDEXTOOVERLAYMASK. Index může být nulový, aby nebyl zadán žádný překryvný obrázek.
Vedle ikony položky se zobrazí obrázek stavu, který označuje stav definovaný aplikací. Obrázky stavů jsou obsaženy v seznamu stavových obrázků , který je určen prostřednictvím zprávy TVM_SETIMAGELIST. Pokud chcete nastavit obrázek stavu položky, zahrňte hodnotu TVIS_STATEIMAGEMASK do stavové masky člen struktury TVITEM. Bity 12 až 15 člena stavu struktury určují index v seznamu obrazových stavů pro obrázek, který má být nakreslen.
Chcete-li nastavit index stavového obrázku, použijte INDEXTOSTATEIMAGEMASK. Toto makro přebírá index a odpovídajícím způsobem nastavuje bity 12 až 15. Pokud chcete označit, že položka nemá žádný stavový obrázek, nastavte index na nulu. Tato konvence znamená, že první obrázek v seznamu obrázků stavů se nedá použít jako stavový obrázek. Pro izolaci bitů 12 až 15 člena stavu použijte masku TVIS_STATEIMAGEMASK. Další informace o překryvných a stavových obrázcích naleznete v tématu Tree-View Seznamy obrázků.
Výběr položky
Ovládací prvek stromového zobrazení upozorní nadřazené okno při změně výběru z jedné položky na jinou odesláním TVN_SELCHANGING a TVN_SELCHANGED oznamovací zprávy. Obě oznámení obsahují hodnotu, která určuje, jestli je změna výsledkem kliknutí myší nebo stisknutí klávesy. Oznámení obsahují také informace o položce, která získává výběr, a položku, která výběr ztrácí. Tyto informace můžete použít k nastavení atributů položek, které závisí na stavu výběru položky. Vrácení TRUE v reakci na TVN_SELCHANGING zabrání změně výběru a vrácení FALSE umožní změnu.
Aplikace může výběr změnit odesláním TVM_SELECTITEM zprávy.
Informace o položce
Ovládací prvky stromového zobrazení podporují řadu zpráv, které načítají informace o položkách v ovládacím prvku.
Zpráva TVM_GETITEM může načíst popisovač položky a její atributy. Atributy položky zahrnují její aktuální stav, indexy v seznamu obrázků ovládacího prvku pro vybrané a nevybrané rastrové obrázky položky, příznak označující, zda položka má podřízené položky, adresu řetězce popisku položky a 32bitovou hodnotu položky definované aplikací.
Zpráva TVM_GETNEXTITEM načte položku stromového zobrazení, která nese zadanou relaci s aktuální položkou. Zpráva může načíst nadřazenou položku, další nebo předchozí viditelnou položku, první podřízenou položku atd.
Zpráva TVM_GETITEMRECT načte ohraničující obdélník pro položku ve stromovém zobrazení. Zprávy TVM_GETCOUNT a TVM_GETVISIBLECOUNT načtou počet položek v ovládacím prvku stromového zobrazení a počet položek, které lze plně zobrazit v okně ovládacího prvku stromového zobrazení. Pomocí zprávy TVM_ENSUREVISIBLE můžete zajistit, aby byla určitá položka viditelná.
Tree-View seznamy obrázků
Každá položka v ovládacím prvku stromového zobrazení může mít přidružené čtyři rastrové obrázky.
- Obrázek, například otevřená složka, se zobrazí při výběru položky.
- Obrázek, například uzavřená složka, se zobrazí, když položka není vybraná.
- Překryvný obrázek, který je nakreslen transparentně přes vybraný nebo nevybraný obrázek.
- Stavový obrázek, což je další obrázek zobrazený vlevo od vybraného nebo nevybraného obrázku. K označení stavů definovaných položek můžete použít obrázky stavu, jako jsou zaškrtnuté a nezaškrtnuté zaškrtávací políčka.
Ve výchozím nastavení ovládací prvek stromového zobrazení nezobrazuje obrázky položek. Pokud chcete zobrazit obrázky položek, musíte vytvořit seznamy obrázků a přidružit je k ovládacímu prvku. Další informace o seznamech obrázků naleznete v tématu Seznamy obrázků.
Ovládací prvek stromového zobrazení může mít dva seznamy obrázků: normální seznam obrázků a seznam stavových imagí. Normální seznam obrázků ukládá vybrané, nevybrané a překryvné obrázky. Seznam stavových obrázků ukládá stavové obrázky. Pomocí funkce ImageList_Create vytvořte seznam obrázků a pomocí dalších funkcí seznamu obrázků přidejte do seznamu obrázků rastrové obrázky. Seznam obrázků pak přidružíte k ovládacímu prvku stromového zobrazení pomocí zprávy TVM_SETIMAGELIST. Zpráva TVM_GETIMAGELIST získává popisovač k jednomu ze seznamů obrázků ovládacího prvku stromového zobrazení. Tato zpráva je užitečná, pokud potřebujete do seznamu přidat další obrázky.
Kromě vybraných a nevybraných obrázků může seznam normálních obrázků ovládacího prvku stromového zobrazení obsahovat až čtyři překryvné obrázky. Překryvné obrázky jsou identifikovány jedním indexem a jsou navrženy tak, aby byly transparentně nakresleny přes vybrané a nevybrané obrázky. Pokud chcete k obrázku v normálním seznamu obrázků přiřadit index překryvné masky, zavolejte funkci ImageList_SetOverlayImage.
Ve výchozím nastavení se u vybraných i nevybraných stavů zobrazí první obrázek v normálním seznamu obrázků. Ve výchozím nastavení se nezobrazují překryvné obrázky ani stavové obrázky. Toto výchozí chování položky můžete změnit odesláním TVM_INSERTITEM nebo TVM_SETITEM zprávy. Tyto zprávy používají strukturu TVITEM k určení indexů seznamu obrázků pro položku.
Pokud chcete určit vybrané a nevybrané obrázky položky, nastavte bity TVIF_SELECTEDIMAGE a TVIF_IMAGE v masce člen struktury TVITEM a zadejte indexy z normálního seznamu obrázků ovládacího prvku v členech iSelectImage a iImage. Alternativně můžete místo zadávání indexů zadat hodnotu I_IMAGECALLBACK v iSelectImage a iImage. To způsobí, že ovládací prvek dotazuje nadřazené okno na index v seznamu obrázků pokaždé, když se má položka překreslit. Ovládací prvek odešle notifikační zprávu TVN_GETDISPINFO pro načtení indexu.
Pokud chcete přidružit překryvný obrázek k položce, použijte makro INDEXTOOVERLAYMASK k určení indexu překryvné masky v stavu člena struktury TVITEM položky. Musíte také nastavit bity TVIS_OVERLAYMASK v položce stateMask . Překryvné indexy masky jsou založené na jednom; Index nuly označuje, že nebyl zadán žádný překryvný obrázek.
Obrázky stavu jsou uloženy v samostatném seznamu obrázků stavu a identifikovány jejich indexem. Pokud chcete zadat seznam obrázků stavu, odešlete zprávu TVM_SETIMAGELIST. Na rozdíl od ovládacího prvku zobrazení seznamu, který používá jeden index k identifikaci stavových imagí, jsou obrázky stavu zobrazení stromového zobrazení identifikovány indexem založeným na nule. Index nuly však značí, že položka nemá obrázek stavu. V důsledku toho nelze obraz nula použít jako stavový obrázek. Další informace o stavech položek a stavových obrázcích najdete v tématu Tree-View Přehled stavů položek.
Operace táhnutí a upuštění
Ovládací prvek stromového zobrazení upozorní nadřazené okno, když uživatel začne přetahovat položku. Nadřazené okno obdrží notifikační zprávu TVN_BEGINDRAG, když uživatel začne přetahovat položku pomocí levého tlačítka myši, a obdrží notifikační zprávu TVN_BEGINRDRAG, když uživatel začne přetahovat pravým tlačítkem. Můžete zabránit odesílání těchto oznámení ovládacím prvkem stromového zobrazení tak, že mu nastavíte styl TVS_DISABLEDRAGDROP.
Obrázek, který se zobrazí během operace přetažení, získáte pomocí zprávy TVM_CREATEDRAGIMAGE. Ovládací prvek stromového zobrazení vytvoří bitmapu pro přetahování na základě popisku přetahované položky. Potom ovládací prvek stromového zobrazení vytvoří seznam obrázků, přidá do něj rastrový obrázek a vrátí popisovač do seznamu obrázků.
Musíte zadat kód, který položku skutečně přetáhne. To obvykle zahrnuje použití možností přetahování funkcí seznamu obrázků a zpracování zpráv WM_MOUSEMOVE a WM_LBUTTONUP (nebo WM_RBUTTONUP) odesílaných do nadřazeného okna po zahájení operace přetažení.
Pokud mají být položky v ovládacím prvku stromového zobrazení cílem operací přetažení myší, musíte vědět, kdy je ukazatel myši na cílové položce. Pomocí zprávy TVM_HITTEST to zjistíte. Zadáte adresu TVHITTESTINFO struktury, která obsahuje aktuální souřadnice ukazatele myši. Když funkce SendMessage vrátí, struktura obsahuje příznak označující umístění ukazatele myši vzhledem k ovládacímu prvku stromového zobrazení. Pokud je ukazatel nad položkou v ovládacím prvku stromového zobrazení, struktura obsahuje také popisovač položky.
Pomocí zprávy TVM_SETITEM můžete určit, že položka je cílem operace přetažení tím, že nastavíte stav na hodnotu TVIS_DROPHILITED. Položka, která má tento stav, je vykreslena ve stylu použitém k označení cíle přetažení myší.
Tree-View zprávy s oznámením o ovládacím prvku
Ovládací prvek stromového zobrazení posílá následující zprávy oznámení do nadřazeného okna jako zprávy typu WM_NOTIFY.
Oznámení | Popis |
---|---|
TVN_BEGINDRAG | Signalizuje spuštění operace drag-and-drop. |
TVN_BEGINLABELEDIT | Signalizuje začátek úprav popisků přímo na místě. |
TVN_BEGINRDRAG | Signalizuje, že pravé tlačítko myši spustilo operaci přetažení myší. |
TVN_DELETEITEM | Signalizuje odstranění konkrétní položky. |
TVN_ENDLABELEDIT | Signalizuje konec úprav popisků. |
TVN_GETDISPINFO | Požaduje informace, které ovládací prvek stromového zobrazení vyžaduje k zobrazení položky. |
TVN_ITEMEXPANDED | Signalizuje, že seznam podřízených položek nadřazené položky byl rozbalen nebo sbalen. |
TVN_ITEMEXPANDING | Signalizuje, že seznam podřízených položek nadřazené položky bude rozbalen nebo sbalen. |
TVN_KEYDOWN | Signalizuje událost klávesnice. |
TVN_SELCHANGED | Signalizuje, že se výběr změnil z jedné položky na jinou. |
TVN_SELCHANGING | Signály, že výběr se chystá změnit z jedné položky na jinou. |
TVN_SETDISPINFO | Upozorní nadřazené okno, že musí aktualizovat informace, které udržuje pro položku. |
Výchozí zpracování Tree-View ovládacích zpráv
Tato část popisuje zpracování zpráv okna prováděné ovládacím prvkem stromového zobrazení. Zprávy specifické pro ovládací prvky stromového zobrazení jsou popsány v jiných částech tohoto dokumentu, takže nejsou zahrnuty zde.
Zpráva | Provedené zpracování |
---|---|
WM_COMMAND | Zpracovává EN_UPDATE a EN_KILLFOCUS upravovat zprávy oznámení ovládacích prvků a přeposílá všechna ostatní oznámení ovládacích prvků pro úpravy do nadřazeného okna. Žádná návratová hodnota neexistuje. |
WM_CREATE | Přidělí paměť a inicializuje interní datové struktury. Vrátí nulu v případě úspěchu, jinak vrátí -1. |
WM_DESTROY | Uvolní všechny systémové prostředky přidružené k ovládacímu prvku. Vrátí nulu. |
WM_ENABLE | Povolí nebo zakáže ovládací prvek. |
WM_ERASEBKGND | Vymaže pozadí okna pomocí aktuální barvy pozadí ovládacího prvku stromového zobrazení. Vrátí TRUE. |
WM_GETDLGCODE | Vrátí kombinaci hodnot DLGC_WANTARROWS a DLGC_WANTCHARS. |
WM_GETFONT | Vrátí popisovač k aktuálnímu písmu popisku. |
WM_HSCROLL | Posouvá ovládací prvek stromového zobrazení. Vrátí TRUE, pokud nastane posouvání, nebo FALSE jinak. |
WM_KEYDOWN | Odešle oznámení zprávu TVN_KEYDOWN do okna rodiče pro všechny klávesy. Odešle oznámení NM_RETURN (stromová struktura), když uživatel stiskne klávesu ENTER. Přesune stříšku, když uživatel stiskne směrové klávesy nebo klávesu PAGE UP, PAGE DOWN, HOME, END nebo BACKSPACE. Posune ovládací prvek stromového zobrazení, když uživatel stiskne klávesu CTRL v kombinaci s těmito klávesami. Vrátí hodnotu TRUE, pokud je klíč zpracován; jinak vrátí FALSE. |
WM_KILLFOCUS | Překreslí zaměřenou položku (pokud existuje) a odešle oznámení NM_KILLFOCUS (stromové zobrazení) do nadřazeného okna. |
WM_LBUTTONDBLCLK | Pokud byla úprava popisků zrušena a položka byla poklikaná myší, odešle se oznamovací zpráva NM_DBLCLK (stromové zobrazení) nadřazenému oknu. Pokud nadřazené okno vrátí hodnotu 0, ovládací prvek stromového zobrazení přepíná rozbalený stav položky a odešle nadřazenému oknu oznamující zprávy TVN_ITEMEXPANDING a TVN_ITEMEXPANDED. Žádná návratová hodnota neexistuje. |
WM_LBUTTONDOWN | Přepíná rozšířený stav, když uživatel klikne na tlačítko přidružené k nadřazené položce. Pokud uživatel klikl na popisek položky, ovládací prvek stromového zobrazení vybere a nastaví fokus na položku. Pokud uživatel přesune myš před uvolněním tlačítka myši, zahájí ovládací prvek stromového zobrazení operaci přetažení. Žádná návratová hodnota neexistuje. |
WM_PAINT | Vykreslí neplatnou oblast ovládacího prvku stromového zobrazení. Vrátí nulu. Pokud parametr wParam neníNULL, ovládací prvek předpokládá, že hodnota je popisovačem kontextu zařízení (HDC) a vykresluje pomocí daného kontextu zařízení. |
WM_RBUTTONDOWN | Zkontroluje, jestli byla položka klikaná a jestli byla zahájena operace přetažení. Pokud byla operace zahájena, odešle do nadřazeného okna oznamovací zprávu TVN_BEGINRDRAG a zvýrazní cíl přetažení. V opačném případě odešle NM_RCLICK (stromové zobrazení) oznamovací zprávu nadřazenému oknu. Žádná návratová hodnota neexistuje. |
WM_SETFOCUS | Přeformátuje prioritní položku (pokud existuje) a odešle NM_SETFOCUS zprávu s oznámením do nadřazeného okna. |
WM_SETFONT | Uloží zadaný popisovač písma a překreslí ovládací prvek stromového zobrazení pomocí nového písma. |
WM_SETREDRAW | Nastaví nebo vymaže příznak překreslení. Ovládací prvek stromového zobrazení se překreslí po nastavení příznaku překreslení. Vrátí nulu. |
WM_SIZE | Přepočítá vnitřní proměnné, které závisejí na velikosti klientské oblasti ovládacího prvku zobrazení stromu. Vrátí TRUE. |
WM_STYLECHANGED | Zruší úpravy popisků a překreslí ovládací prvek stromového zobrazení pomocí nových stylů. Vrátí nulu. |
WM_SYSCOLORCHANGE | Překreslí ovládací prvek stromového zobrazení pomocí nové barvy, pokud je nastaven příznak překreslení. Žádná návratová hodnota neexistuje. |
WM_TIMER | Začne upravovat popisek položky. Pokud uživatel klikne na popisek prioritní položky, ovládací prvek stromového zobrazení nastaví časovač místo okamžitého vstupu do režimu úprav. Časovač umožňuje stromovému zobrazení vyhnout se vstupu do režimu úprav, pokud uživatel dvakrát klikne na popisek. Vrátí nulu. |
WM_VSCROLL | Posune ovládací prvek stromového zobrazení. Vrátí TRUE, pokud dojde k posouvání, jinak FALSE. |
Související témata
-
SAMPLE: CustDTv znázorňuje vlastní kreslení v TreeView (Q248496)