Obiekty graficzne
System Windows udostępnia różne narzędzia do rysowania do użycia w kontekstach urządzenia. Zapewnia długopisy do rysowania linii, pędzli do wypełniania wnętrz i czcionek w celu narysowania tekstu. MFC udostępnia klasy obiektów graficznych równoważne narzędziom do rysowania w systemie Windows. W poniższej tabeli przedstawiono dostępne klasy i równoważne typy dojść interfejsu graficznego systemu Windows (GDI).
Uwaga
Aby uzyskać więcej informacji, zobacz dokumentację zestawu GDI+ SDK.
W tym artykule wyjaśniono użycie tych klas obiektów graficznych:
Klasy dla obiektów GDI systemu Windows
Klasa | Typ uchwytu systemu Windows |
---|---|
Cpen | HPEN |
Cbrush | HBRUSH |
Cfont | HFONT |
Cbitmap | HBITMAP |
Cpalette | HPALETTE |
Crgn | HRGN |
Uwaga
Klasa CImage zapewnia ulepszoną obsługę map bitowych.
Każda klasa obiektów graficznych w bibliotece klas ma konstruktor, który umożliwia tworzenie obiektów graficznych tej klasy, które należy następnie zainicjować przy użyciu odpowiedniej funkcji create, takiej jak CreatePen
.
Każda klasa obiektów graficznych w bibliotece klas ma operator rzutowania, który rzutuje obiekt MFC na skojarzony uchwyt systemu Windows. Wynikowy uchwyt jest prawidłowy do momentu odłączenia skojarzonego obiektu. Użyj funkcji składowej Detach
obiektu, aby odłączyć uchwyt.
Poniższy kod rzutuje CPen
obiekt na uchwyt systemu Windows:
CPen myPen;
myPen.CreatePen(PS_COSMETIC, 1, RGB(255, 255, 0));
HPEN hMyPen = (HPEN)myPen;
Aby utworzyć obiekt graficzny w kontekście urządzenia
Zdefiniuj obiekt graficzny na ramce stosu. Zainicjuj obiekt za pomocą funkcji create specyficznej dla typu, takiej jak
CreatePen
. Alternatywnie zainicjuj obiekt w konstruktorze. Zapoznaj się z omówieniem tworzenia jednoetapowego i dwuetapowego, który zawiera przykładowy kod.Zaznacz obiekt w bieżącym kontekście urządzenia, zapisując stary obiekt graficzny, który został wybrany wcześniej.
Po zakończeniu pracy z bieżącym obiektem graficznym wybierz stary obiekt graficzny z powrotem do kontekstu urządzenia, aby przywrócić jego stan.
Zezwalaj na automatyczne usuwanie obiektu graficznego przydzielonego ramką po zakończeniu działania zakresu.
Uwaga
Jeśli będziesz używać obiektu graficznego wielokrotnie, możesz przydzielić go raz i wybrać go w kontekście urządzenia za każdym razem, gdy jest potrzebny. Pamiętaj, aby usunąć taki obiekt, gdy nie jest już potrzebny.