Grafické objekty
Systém Windows poskytuje celou řadu nástrojů kreslení, které se užijí v kontextu zařízení. Poskytuje pera pro kreslení čar, štětců k vyplnění interiérů a písem pro kreslení textu. MFC poskytuje třídy grafických objektů ekvivalentní nástrojům kreslení ve Windows. Následující tabulka ukazuje dostupné třídy a ekvivalentní typy popisovačů grafického zařízení (GDI) systému Windows.
Poznámka
Další informace najdete v dokumentaci sady GDI+ SDK.
Tento článek vysvětluje použití těchto tříd grafických objektů:
Třídy pro objekty GDI systému Windows
Třída | Typ úchytu systému Windows |
---|---|
CPen | HPEN |
CBrush | HBRUSH |
CFont | HFONT |
CBitmap | HBITMAP |
CPalette | HPALETTE |
CRgn | HRGN |
Poznámka
Třída CImage poskytuje rozšířenou podporu rastrových obrázků.
Každá třída grafického objektu v knihovně tříd má konstruktor, který umožňuje vytvořit grafické objekty této třídy, které pak musíte inicializovat pomocí příslušné funkce create, například CreatePen
.
Každá třída grafického objektu v knihovně tříd má operátor přetypování, který přetypuje objekt MFC na přidružený popisovač Systému Windows. Výsledný popisovač je platný, dokud ho přidružený objekt odpojil. Pomocí členské funkce objektu Detach
odpojte popisovač.
Následující kód přetypuje CPen
objekt na popisovač Windows:
CPen myPen;
myPen.CreatePen(PS_COSMETIC, 1, RGB(255, 255, 0));
HPEN hMyPen = (HPEN)myPen;
Vytvoření grafického objektu v kontextu zařízení
Definujte grafický objekt na rámečku zásobníku. Inicializace objektu pomocí funkce create specifické pro typ, například
CreatePen
. Alternativně inicializovat objekt v konstruktoru. Podívejte se na diskuzi o vytvoření jedné fáze a dvoufázové fáze, která poskytuje ukázkový kód.Vyberte objekt do aktuálního kontextu zařízení a uložte starý grafický objekt, který byl vybrán dříve.
Po dokončení s aktuálním grafickým objektem vyberte starý grafický objekt zpět do kontextu zařízení a obnovte jeho stav.
Umožňuje automatické odstranění grafického objektu přiděleného rámečkem při ukončení oboru.
Poznámka
Pokud budete grafický objekt používat opakovaně, můžete ho přidělit jednou a vybrat ho do kontextu zařízení pokaždé, když je potřeba. Pokud ho už nepotřebujete, nezapomeňte takový objekt odstranit.