Vykreslování obrázků ze seznamu obrázků
Chcete-li nakreslit obrázek, použijte CImageList::Draw členské funkce.Ukazatel na objekt kontextu zařízení, index obrázku kreslit, místo v kontextu zařízení, pro kterou chcete nakreslit obrázek a sadu příznaků, které označují výkresu styl budete zadávat.
Pokud zadáte ILD_TRANSPARENT stylu, Nakreslit dvoustupňový proces používá ke kreslení maskované obrázek.Za prvé, provádí logické- a operace na bity obrazu a bity masky.Pak provede logických XOR operace na výsledky první operace a bitů pozadí kontextu cílové zařízení.Tento proces vytvoří průhledné oblasti v výsledný obraz; To znamená, že každý bílý bitů v masce způsobí, že odpovídající bit výsledného obrazu na průhledné.
Před kreslením maskované obrázek na pozadí plnou barvou, měli byste použít SetBkColor členské funkce, chcete-li nastavit barvu pozadí v seznamu obrázků na stejnou barvu jako cíl.Nastavení barvy eliminuje potřebu vytvoření průhledných oblastí v obraze a umožňuje Nakreslit jednoduše kopírovat obrázek v kontextu cílové zařízení, což vede k významnému zvýšení výkonu.Chcete-li nakreslit obrázek, zadejte ILD_NORMAL stylu při volání Nakreslit.
Můžete nastavit barvu pozadí pro seznam maskovanou obrazu (CImageList) kdykoli tak, že se kreslí správně na všechny pevné pozadí.Nastavení barvy pozadí CLR_NONE způsobí, že obrázky, které chcete být nakreslena průhledně ve výchozím nastavení.Načíst seznam obrázků barvu pozadí, použijte GetBkColor členské funkce.
ILD_BLEND25 a ILD_BLEND50 styly tónování obrazu s barvou zvýraznění systému.Tyto styly jsou užitečné, pokud používáte maskované obrázek představující objekt, který si uživatel může vybrat.Můžete například použít ILD_BLEND50 styl, který chcete nakreslit obrázek, když ho uživatel vybere.
Nonmasked bitová kopie zkopírována pomocí kontextu cílové zařízení SRCCOPY rastrové operace.Barvy v obraze se objeví bez ohledu na barvu pozadí kontext zařízení.Kreslení styly definované v Nakreslit také nemá vliv na vzhled nonmasked obrazu.
Kromě vystavení členské funkce, jiné funkce, DrawIndirect, rozšiřuje schopnost vykreslení obrazu.DrawIndirectpřijímá jako parametr, IMAGELISTDRAWPARAMS struktury.Tato struktura umožňuje přizpůsobení vykreslování aktuálního obrázku, včetně použití kódů rastrové operace (ROP).Další informace o kódech ROP, viz kódy rastrové operace a bitmapy jako stopy v Windows SDK.