Aracılığıyla paylaş


CGdiObject Sınıfı

Bit eşlemler, bölgeler, fırçalar, kalemler, paletler ve yazı tipleri gibi çeşitli Windows grafik cihaz arabirimi (GDI) nesneleri için temel sınıf sağlar.

Sözdizimi

class CGdiObject : public CObject

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CGdiObject::CGdiObject Bir CGdiObject nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
CGdiObject::Attach Bir nesneye CGdiObject Windows GDI nesnesi ekler.
CGdiObject::CreateStockObject Önceden tanımlanmış Windows stok kalemlerinden, fırçalarından veya yazı tiplerinden birine tanıtıcı alır.
CGdiObject::D eleteObject Nesneyle ilişkili tüm sistem depolama alanını boşaltarak nesneye CGdiObject bağlı Windows GDI nesnesini bellekten siler.
CGdiObject::D eleteTempMap tarafından FromHandleoluşturulan tüm geçici CGdiObject nesneleri siler.
CGdiObject::D etach Bir Windows GDI nesnesini bir CGdiObject nesneden ayırır ve Windows GDI nesnesine bir tanıtıcı döndürür.
CGdiObject::FromHandle Windows GDI nesnesine CGdiObject tanıtıcı verilen nesneye bir işaretçi döndürür.
CGdiObject::GetObject Arabelleği, nesneye eklenmiş CGdiObject Windows GDI nesnesini açıklayan verilerle doldurur.
CGdiObject::GetObjectType GDI nesnesinin türünü alır.
CGdiObject::GetSafeHandle NULL olmadığı sürece this döndürürm_hObject; bu durumda NULL döndürülür.
CGdiObject::UnrealizeObject Fırçanın kaynağını sıfırlar veya mantıksal paleti sıfırlar.

Ortak İşleçler

Veri Akışı Adı Açıklama
CGdiObject::operator != İki GDI nesnesinin mantıksal olarak eşit olup olmadığını belirler.
CGdiObject::operator == İki GDI nesnesinin mantıksal olarak eşit olup olmadığını belirler.
CGdiObject::operator HGDIOBJ Ekli Windows GDI nesnesine bir HANDLE alır.

Ortak Veri Üyeleri

Veri Akışı Adı Açıklama
CGdiObject::m_hObject Bu nesneye bağlı HBITMAP, HPALETTE, HRGN, HBRUSH, HPEN veya HFONT içeren bir TANıTıCı.

Açıklamalar

Hiçbir zaman doğrudan bir CGdiObject oluşturmazsınız. Bunun yerine, veya CBrushgibi CPen türetilmiş sınıflarından birinden bir nesne oluşturursunuz.

hakkında CGdiObjectdaha fazla bilgi için bkz . Grafik Nesneleri.

Devralma Hiyerarşisi

CObject

CGdiObject

Gereksinimler

Üst bilgi: afxwin.h

CGdiObject::Attach

Bir nesneye CGdiObject Windows GDI nesnesi ekler.

BOOL Attach(HGDIOBJ hObject);

Parametreler

hObject
Bir Windows GDI nesnesine tanıtıcı (örneğin, HPEN veya HBRUSH).

Dönüş Değeri

Ek başarılı olursa sıfır olmayan; aksi takdirde 0.

CGdiObject::CGdiObject

Bir CGdiObject nesne oluşturur.

CGdiObject();

Açıklamalar

Hiçbir zaman doğrudan bir CGdiObject oluşturmazsınız. Bunun yerine, veya Cbrushgibi CPen türetilmiş sınıflarından birinden bir nesne oluşturursunuz.

CGdiObject::CreateStockObject

Önceden tanımlanmış Windows GDI kalemlerinden, fırçalarından veya yazı tiplerinden birine tanıtıcı alır ve GDI nesnesini nesneye CGdiObject ekler.

BOOL CreateStockObject(int nIndex);

Parametreler

nIndex
İstenen stok nesnesinin türünü belirten bir sabit. Uygun değerlerin açıklaması için Windows SDK'sında GetStockObject için fnObject parametresine bakın.

Dönüş Değeri

İşlev başarılı olursa sıfır dışında bir değer, aksi durumda 0.

Açıklamalar

Hisse senedi kalemi gibi CPen Windows GDI nesne türüne karşılık gelen türetilmiş sınıflardan biriyle bu işlevi çağırın.

CGdiObject::D eleteObject

Windows GDI nesnesiyle ilişkili tüm sistem depolama alanını boşaltarak ekli Windows GDI nesnesini bellekten siler.

BOOL DeleteObject();

Dönüş Değeri

GDI nesnesi başarıyla silindiyse sıfır olmayan; aksi takdirde 0.

Açıklamalar

Nesneyle CGdiObject ilişkilendirilmiş depolama alanı bu çağrıdan etkilenmez. Bir uygulama, şu anda bir cihaz bağlamında seçili olan bir CGdiObject nesnede çağrı DeleteObject yapılmamalıdır.

Desen fırçası silindiğinde, fırçayla ilişkili bit eşlem silinmez. Bit eşlem bağımsız olarak silinmelidir.

CGdiObject::D eleteTempMap

Boşta kalma zamanı işleyicisi tarafından CWinApp otomatik olarak çağrılır, DeleteTempMap tarafından FromHandleoluşturulan tüm geçici CGdiObject nesneleri siler.

static void PASCAL DeleteTempMap();

Açıklamalar

DeleteTempMapnesneyi silmeden CGdiObject önce geçici CGdiObject bir nesneye bağlı Windows GDI nesnesini ayırır.

Örnek

// 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

Bir Windows GDI nesnesini bir CGdiObject nesneden ayırır ve Windows GDI nesnesine bir tanıtıcı döndürür.

HGDIOBJ Detach();

Dönüş Değeri

Ayrılmış Windows GDI nesnesine A HANDLE ; aksi takdirde GDI nesnesi eklenmemişse NULL.

CGdiObject::FromHandle

Windows GDI nesnesine CGdiObject tanıtıcı verilen nesneye bir işaretçi döndürür.

static CGdiObject* PASCAL FromHandle(HGDIOBJ hObject);

Parametreler

hObject
Windows GDI nesnesine tanıtıcı.

Dönüş Değeri

Geçici veya kalıcı olabilecek bir CGdiObject işaretçi.

Açıklamalar

Bir CGdiObject nesne Windows GDI nesnesine zaten bağlı değilse, geçici CGdiObject bir nesne oluşturulur ve eklenir.

Bu geçici CGdiObject nesne yalnızca uygulamanın olay döngüsünde boşta kalma süresine sahip olduğu bir sonraki zamana kadar geçerlidir ve bu süre boyunca tüm geçici grafik nesneleri silinir. Bunu söylemenin bir diğer yolu da geçici nesnenin yalnızca bir pencere iletisinin işlenmesi sırasında geçerli olmasıdır.

CGdiObject::GetObject

Bir arabelleği belirtilen nesneyi tanımlayan verilerle doldurur.

int GetObject(
    int nCount,
    LPVOID lpObject) const;

Parametreler

nCount
lpObject arabelleğine kopyalanacak bayt sayısını belirtir.

lpObject
Bilgileri almak için kullanıcı tarafından sağlanan arabelleğe işaret edilir.

Dönüş Değeri

Alınan bayt sayısı; aksi takdirde bir hata oluşursa 0.

Açıklamalar

İşlev, aşağıdaki listede gösterildiği gibi türü grafik nesnesinin türüne bağlı olan bir veri yapısı alır:

Object Arabellek türü
CPen LOGPEN
CBrush LOGBRUSH
CFont LOGFONT
CBitmap BİT EŞLEM
CPalette WORD
CRgn Desteklenmez

Nesne bir CBitmap nesneyse, GetObject bit eşlemin yalnızca genişlik, yükseklik ve renk biçimi bilgilerini döndürür. Gerçek bitler CBitmap::GetBitmapBits kullanılarak alınabilir.

Nesne bir CPalette nesneyse, GetObject paletteki girdi sayısını belirten bir WORD alır. İşlev, paleti tanımlayan LOGPALETTE yapısını almaz. Bir uygulama, CPalette::GetPaletteEntries çağrısı yaparak palet girdileri hakkında bilgi alabilir.

CGdiObject::GetObjectType

GDI nesnesinin türünü alır.

UINT GetObjectType() const;

Dönüş Değeri

Başarılı olursa nesnenin türü; aksi takdirde 0. Değer aşağıdakilerden biri olabilir:

  • OBJ_BITMAP Bit Eşlem

  • OBJ_BRUSH Fırçası

  • OBJ_FONT Yazı Tipi

  • OBJ_PAL Paleti

  • OBJ_PEN Kalemi

  • genişletilmiş kalem OBJ_EXTPEN

  • OBJ_REGION Bölgesi

  • cihaz bağlamı OBJ_DC

  • bellek cihazı bağlamı OBJ_MEMDC

  • Meta Dosyasını OBJ_METAFILE

  • Meta dosyası cihaz bağlamı OBJ_METADC

  • gelişmiş meta dosyasını OBJ_ENHMETAFILE

  • gelişmiş meta dosyası cihaz bağlamı OBJ_ENHMETADC

CGdiObject::GetSafeHandle

NULL olmadığı sürece this döndürürm_hObject; bu durumda NULL döndürülür.

HGDIOBJ GetSafeHandle() const;

Dönüş Değeri

Ekli Windows GDI nesnesine bir HANDLE; aksi takdirde, hiçbir nesne eklenmemişse NULL.

Açıklamalar

Bu, genel tanıtıcı arabirimi paradigması kapsamındadır ve NULL bir tanıtıcı için geçerli veya özel bir değer olduğunda kullanışlıdır.

Örnek

CWnd::IsWindowEnabled örneğine bakın.

CGdiObject::m_hObject

Bu nesneye bağlı HBITMAP, HRGN, HBRUSH, HPEN, HPALETTE veya HFONT içeren bir TANıTıCı.

HGDIOBJ m_hObject;

CGdiObject::operator !=

İki GDI nesnesinin mantıksal olarak eşit olup olmadığını belirler.

BOOL operator!=(const CGdiObject& obj) const;

Parametreler

Obj
Var olan CGdiObjectbir öğesine yönelik bir işaretçi.

Açıklamalar

Sol taraftaki bir GDI nesnesinin sağ taraftaki bir GDI nesnesine eşit olup olmadığını belirler.

CGdiObject::operator ==

İki GDI nesnesinin mantıksal olarak eşit olup olmadığını belirler.

BOOL operator==(const CGdiObject& obj) const;

Parametreler

Obj
Var olan CGdiObjectbir öğesine başvuru.

Açıklamalar

Sol taraftaki bir GDI nesnesinin sağ taraftaki bir GDI nesnesine eşit olup olmadığını belirler.

CGdiObject::operator HGDIOBJ

Ekli Windows GDI nesnesine bir HANDLE alır; aksi takdirde, hiçbir nesne eklenmemişse NULL.

operator HGDIOBJ() const;

CGdiObject::UnrealizeObject

Fırçanın kaynağını sıfırlar veya mantıksal paleti sıfırlar.

BOOL UnrealizeObject();

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

UnrealizeObject sınıfının üye işlevi CGdiObject olsa da, yalnızca veya CPalette nesnelerinde CBrush çağrılmalıdır.

Nesneler için CBrush sistemi, UnrealizeObject bir sonraki seçildiğinde verilen fırçanın kaynağını cihaz bağlamı içine sıfırlamaya yönlendirir. Nesne bir CPalette nesneyse, UnrealizeObject sistemi paleti daha önce gerçekleştirilmemiş gibi gerçekleştirmeye yönlendirir. Uygulama belirtilen palet için CDC::RealizePalette işlevini bir sonraki çağırışında, sistem mantıksal paleti sistem paletiyle tamamen yeniden eşler.

İşlev UnrealizeObject stok nesneleriyle kullanılmamalıdır. Yeni UnrealizeObject bir fırça başlangıcı ayarlandığında işlev çağrılmalıdır (CDC::SetBrushOrg işlevi aracılığıyla). İşlev, UnrealizeObject seçili durumdaki fırça veya şu anda seçili olan herhangi bir görüntü bağlamı paleti için çağrılmamalıdır.

Ayrıca bkz.

Hiyerarşi Grafiği
CBitmap Sınıfı
CBrush Sınıfı
CFont Sınıfı
CPalette Sınıfı
CPen Sınıfı
CRgn Sınıfı