Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Udostępnia klasę bazową dla różnych rodzajów obiektów interfejsu graficznego (GDI) systemu Windows, takich jak mapy bitowe, regiony, pędzle, pióra, palety i czcionki.
Składnia
class CGdiObject : public CObject
Elementy członkowskie
Konstruktory publiczne
| Nazwa/nazwisko | opis |
|---|---|
| CGdiObject::CGdiObject | CGdiObject Tworzy obiekt. |
Metody publiczne
| Nazwa/nazwisko | opis |
|---|---|
| CGdiObject::Attach | Dołącza obiekt GDI systemu CGdiObject Windows do obiektu. |
| CGdiObject::CreateStockObject | Pobiera uchwyt do jednego ze wstępnie zdefiniowanych długopisów, pędzli lub czcionek systemu Windows. |
| CGdiObject::D eleteObject | Usuwa obiekt GDI systemu Windows dołączony do CGdiObject obiektu z pamięci, zwalniając cały magazyn systemowy skojarzony z obiektem. |
| CGdiObject::D eleteTempMap | Usuwa wszystkie obiekty tymczasowe CGdiObject utworzone przez FromHandleprogram . |
| CGdiObject::D etach | Odłącza obiekt GDI systemu Windows od CGdiObject obiektu i zwraca uchwyt do obiektu GDI systemu Windows. |
| CGdiObject::FromHandle | Zwraca wskaźnik do CGdiObject obiektu podanego dojścia do obiektu GDI systemu Windows. |
| CGdiObject::GetObject | Wypełnia bufor danymi, które opisują obiekt GDI systemu Windows dołączony do CGdiObject obiektu. |
| CGdiObject::GetObjectType | Pobiera typ obiektu GDI. |
| CGdiObject::GetSafeHandle | Zwraca m_hObject wartość , chyba że this ma wartość NULL, w tym przypadku zwracana jest wartość NULL. |
| CGdiObject::UnrealizeObject | Resetuje początek pędzla lub resetuje paletę logiczną. |
Operatory publiczne
| Nazwa/nazwisko | opis |
|---|---|
| CGdiObject::operator != | Określa, czy dwa obiekty GDI są logicznie nie równe. |
| CGdiObject::operator == | Określa, czy dwa obiekty GDI są logicznie równe. |
| CGdiObject::operator HGDIOBJ | Pobiera uchwyt do dołączonego obiektu GDI systemu Windows. |
Publiczne elementy członkowskie danych
| Nazwa/nazwisko | opis |
|---|---|
| CGdiObject::m_hObject | Uchwyt zawierający HBITMAP, HPALETTE, HRGN, HBRUSH, HPEN lub HFONT dołączony do tego obiektu. |
Uwagi
Nigdy nie tworzysz bezpośrednio CGdiObject . Zamiast tego należy utworzyć obiekt na podstawie jednej z jego klas pochodnych, takich jak CPen lub CBrush.
Aby uzyskać więcej informacji na temat CGdiObjectprogramu , zobacz Obiekty graficzne.
Hierarchia dziedziczenia
CGdiObject
Wymagania
Nagłówek: afxwin.h
CGdiObject::Attach
Dołącza obiekt GDI systemu CGdiObject Windows do obiektu.
BOOL Attach(HGDIOBJ hObject);
Parametry
hObject
Uchwyt do obiektu GDI systemu Windows (na przykład HPEN lub HBRUSH).
Wartość zwracana
Bezzerowe, jeśli załącznik zakończył się pomyślnie; w przeciwnym razie 0.
CGdiObject::CGdiObject
CGdiObject Tworzy obiekt.
CGdiObject();
Uwagi
Nigdy nie tworzysz bezpośrednio CGdiObject . Zamiast tego należy utworzyć obiekt na podstawie jednej z jego klas pochodnych, takich jak CPen lub Cbrush.
CGdiObject::CreateStockObject
Pobiera uchwyt do jednego ze wstępnie zdefiniowanych długopisów GDI systemu Windows, pędzli lub czcionek i dołącza obiekt GDI do CGdiObject obiektu.
BOOL CreateStockObject(int nIndex);
Parametry
nIndex
Stała określająca żądany typ obiektu stockowego. Aby uzyskać opis odpowiednich wartości, zobacz parametr fnObject for GetStockObject w zestawie Windows SDK.
Wartość zwracana
Różne od zera, jeśli funkcja zakończyła się pomyślnie; w przeciwnym razie 0.
Uwagi
Wywołaj tę funkcję za pomocą jednej z klas pochodnych, która odpowiada typowi obiektu GDI systemu Windows, na przykład CPen dla pióra giełdowego.
CGdiObject::D eleteObject
Usuwa dołączony obiekt GDI systemu Windows z pamięci, zwalniając cały magazyn systemowy skojarzony z obiektem GDI systemu Windows.
BOOL DeleteObject();
Wartość zwracana
Nonzero, jeśli obiekt GDI został pomyślnie usunięty; w przeciwnym razie 0.
Uwagi
Ten wywołanie nie ma wpływu na magazyn skojarzony z obiektem CGdiObject . Aplikacja nie powinna wywoływać DeleteObject obiektu aktualnie wybranego CGdiObject w kontekście urządzenia.
Po usunięciu pędzla deseń mapa bitowa skojarzona z pędzlem nie zostanie usunięta. Mapa bitowa musi zostać usunięta niezależnie.
CGdiObject::D eleteTempMap
Wywoływana CWinApp automatycznie przez program obsługi bezczynności usuwa DeleteTempMap wszystkie obiekty tymczasowe CGdiObject utworzone przez FromHandleprogram .
static void PASCAL DeleteTempMap();
Uwagi
DeleteTempMap odłącza obiekt GDI systemu Windows dołączony do obiektu tymczasowego CGdiObject przed usunięciem CGdiObject obiektu.
Przykład
// DeleteTempMap() is a static member and so does not need to
// be called within the scope of an instantiated CGdiObject object.
CGdiObject::DeleteTempMap();
CGdiObject::D etach
Odłącza obiekt GDI systemu Windows od CGdiObject obiektu i zwraca uchwyt do obiektu GDI systemu Windows.
HGDIOBJ Detach();
Wartość zwracana
Obiekt HANDLE GDI systemu Windows jest odłączony; w przeciwnym razie wartość NULL, jeśli żaden obiekt GDI nie jest dołączony.
CGdiObject::FromHandle
Zwraca wskaźnik do CGdiObject obiektu podanego dojścia do obiektu GDI systemu Windows.
static CGdiObject* PASCAL FromHandle(HGDIOBJ hObject);
Parametry
hObject
Dojście do obiektu GDI systemu Windows.
Wartość zwracana
Wskaźnik do, CGdiObject który może być tymczasowy lub stały.
Uwagi
CGdiObject Jeśli obiekt nie jest jeszcze dołączony do obiektu GDI systemu Windows, zostanie utworzony i dołączony obiekt tymczasowyCGdiObject.
Ten obiekt tymczasowy CGdiObject jest prawidłowy tylko do następnego czasu bezczynności aplikacji w pętli zdarzeń, w którym wszystkie tymczasowe obiekty graficzne są usuwane. Innym sposobem stwierdzenia jest to, że obiekt tymczasowy jest prawidłowy tylko podczas przetwarzania jednego komunikatu okna.
CGdiObject::GetObject
Wypełnia bufor danymi definiującymi określony obiekt.
int GetObject(
int nCount,
LPVOID lpObject) const;
Parametry
nCount
Określa liczbę bajtów do skopiowania do buforu lpObject .
lpObject
Wskazuje bufor dostarczony przez użytkownika, który ma odbierać informacje.
Wartość zwracana
Liczba pobranych bajtów; w przeciwnym razie 0, jeśli wystąpi błąd.
Uwagi
Funkcja pobiera strukturę danych, której typ zależy od typu obiektu graficznego, jak pokazano na poniższej liście:
| Objekt | Typ buforu |
|---|---|
CPen |
LOGPEN |
CBrush |
LOGBRUSH |
CFont |
LOGFONT |
CBitmap |
BITMAPA |
CPalette |
WORD |
CRgn |
Nieobsługiwane |
Jeśli obiekt jest obiektem CBitmap , GetObject zwraca tylko informacje o szerokości, wysokości i formacie koloru mapy bitowej. Rzeczywiste bity można pobrać przy użyciu CBitmap::GetBitmapBits.
Jeśli obiekt jest obiektem CPalette , GetObject pobiera program WORD określający liczbę wpisów na palecie. Funkcja nie pobiera struktury LOGPALETTE definiującej paletę. Aplikacja może uzyskać informacje na temat wpisów palety, wywołując polecenie CPalette::GetPaletteEntries.
CGdiObject::GetObjectType
Pobiera typ obiektu GDI.
UINT GetObjectType() const;
Wartość zwracana
Typ obiektu, jeśli się powiedzie; w przeciwnym razie 0. Może to być jedna z następujących wartości:
mapa bitowa OBJ_BITMAP
szczotka OBJ_BRUSH
Czcionka OBJ_FONT
paleta OBJ_PAL
pióro OBJ_PEN
OBJ_EXTPEN pióro rozszerzone
OBJ_REGION Region
kontekst urządzenia OBJ_DC
kontekst urządzenia pamięci OBJ_MEMDC
OBJ_METAFILE Metafile
OBJ_METADC kontekst urządzenia Metafile
OBJ_ENHMETAFILE rozszerzony metaplik
OBJ_ENHMETADC rozszerzonego kontekstu urządzenia metapliku
CGdiObject::GetSafeHandle
Zwraca m_hObject wartość , chyba że this ma wartość NULL, w tym przypadku zwracana jest wartość NULL.
HGDIOBJ GetSafeHandle() const;
Wartość zwracana
Dojście do dołączonego obiektu GDI systemu Windows; w przeciwnym razie wartość NULL, jeśli żaden obiekt nie jest dołączony.
Uwagi
Jest to część ogólnego paradygmatu interfejsu obsługi i jest przydatna, gdy wartość NULL jest prawidłową lub specjalną wartością dla uchwytu.
Przykład
Zobacz przykład CWnd ::IsWindowEnabled.
CGdiObject::m_hObject
Uchwyt zawierający HBITMAP, HRGN, HBRUSH, HPEN, HPALETTE lub HFONT dołączony do tego obiektu.
HGDIOBJ m_hObject;
CGdiObject::operator !=
Określa, czy dwa obiekty GDI są logicznie nie równe.
BOOL operator!=(const CGdiObject& obj) const;
Parametry
Obj
Wskaźnik do istniejącego CGdiObjectelementu .
Uwagi
Określa, czy obiekt GDI po lewej stronie nie jest równy obiektowi GDI po prawej stronie.
CGdiObject::operator ==
Określa, czy dwa obiekty GDI są logicznie równe.
BOOL operator==(const CGdiObject& obj) const;
Parametry
Obj
Odwołanie do istniejącego CGdiObjectelementu .
Uwagi
Określa, czy obiekt GDI po lewej stronie jest równy obiektowi GDI po prawej stronie.
CGdiObject::operator HGDIOBJ
Pobiera uchwyt do dołączonego obiektu GDI systemu Windows; w przeciwnym razie wartość NULL, jeśli żaden obiekt nie jest dołączony.
operator HGDIOBJ() const;
CGdiObject::UnrealizeObject
Resetuje początek pędzla lub resetuje paletę logiczną.
BOOL UnrealizeObject();
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Chociaż UnrealizeObject jest funkcją CGdiObject składową klasy, powinna być wywoływana tylko na CBrush obiektach lub CPalette .
W przypadku CBrush obiektów UnrealizeObject program przekierowuje system do zresetowania źródła danego pędzla przy następnym wybraniu go do kontekstu urządzenia. Jeśli obiekt jest obiektem CPalette , UnrealizeObject kieruje system do realizacji palety tak, jakby nie został wcześniej zrealizowany. Następnym razem, gdy aplikacja wywołuje funkcję CDC::RealizePalette dla określonej palety, system całkowicie ponownie mapuje paletę logiczną na paletę systemową.
Funkcja UnrealizeObject nie powinna być używana z obiektami stockowymi. Funkcja UnrealizeObject musi być wywoływana za każdym razem, gdy zostanie ustawione nowe źródło pędzla (za pomocą funkcji CDC::SetBrushOrg ). Funkcja UnrealizeObject nie może być wywoływana dla aktualnie wybranego pędzla lub aktualnie wybranej palety dowolnego kontekstu wyświetlania.
Zobacz też
Wykres hierarchii
Klasa CBitmap
Klasa CBrush
Klasa CFont
Klasa CPalette
Klasa CPen
Klasa CRgn