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 FromHandle oluş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 CBrush
gibi CPen
türetilmiş sınıflarından birinden bir nesne oluşturursunuz.
hakkında CGdiObject
daha fazla bilgi için bkz . Grafik Nesneleri.
Devralma Hiyerarşisi
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 Cbrush
gibi 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 FromHandle
oluşturulan tüm geçici CGdiObject
nesneleri siler.
static void PASCAL DeleteTempMap();
Açıklamalar
DeleteTempMap
nesneyi 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 CGdiObject
bir öğ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 CGdiObject
bir öğ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ı