Kelas CGdiObject
Menyediakan kelas dasar untuk berbagai jenis objek antarmuka perangkat grafis (GDI) Windows seperti bitmap, wilayah, kuas, pena, palet, dan font.
Sintaks
class CGdiObject : public CObject
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CGdiObject::CGdiObject | Membuat CGdiObject objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CGdiObject::Lampirkan | Melampirkan objek GDI Windows ke CGdiObject objek. |
CGdiObject::CreateStockObject | Mengambil handel ke salah satu pena stok, kuas, atau font yang telah ditentukan sebelumnya. |
CGdiObject::D eleteObject | Menghapus objek GDI Windows yang dilampirkan ke CGdiObject objek dari memori dengan membebaskan semua penyimpanan sistem yang terkait dengan objek. |
CGdiObject::D eleteTempMap | Menghapus objek sementara CGdiObject yang dibuat oleh FromHandle . |
CGdiObject::D etach | Mencopot objek GDI Windows dari CGdiObject objek dan mengembalikan handel ke objek GDI Windows. |
CGdiObject::FromHandle | Mengembalikan penunjuk ke objek yang CGdiObject diberikan handel ke objek GDI Windows. |
CGdiObject::GetObject | Mengisi buffer dengan data yang menjelaskan objek Windows GDI yang dilampirkan ke CGdiObject objek. |
CGdiObject::GetObjectType | Mengambil jenis objek GDI. |
CGdiObject::GetSafeHandle | Mengembalikan m_hObject kecuali this null, dalam hal ini NULL dikembalikan. |
CGdiObject::UnrealizeObject | Mengatur ulang asal kuas atau mengatur ulang palet logis. |
Operator Publik
Nama | Deskripsi |
---|---|
CGdiObject::operator != | Menentukan apakah dua objek GDI secara logis tidak sama. |
CGdiObject::operator == | Menentukan apakah dua objek GDI secara logis sama. |
CGdiObject::operator HGDIOBJ | Mengambil HANDLE ke objek GDI Windows yang terpasang. |
Anggota Data Publik
Nama | Deskripsi |
---|---|
CGdiObject::m_hObject | HANDLE yang berisi HBITMAP, HPALETTE, HRGN, HBRUSH, HPEN, atau HFONT yang terpasang pada objek ini. |
Keterangan
Anda tidak pernah membuat secara CGdiObject
langsung. Sebaliknya, Anda membuat objek dari salah satu kelas turunannya, seperti CPen
atau CBrush
.
Untuk informasi selengkapnya tentang CGdiObject
, lihat Objek Grafik.
Hierarki Warisan
CGdiObject
Persyaratan
Header: afxwin.h
CGdiObject::Lampirkan
Melampirkan objek GDI Windows ke CGdiObject
objek.
BOOL Attach(HGDIOBJ hObject);
Parameter
hObject
HANDLE ke objek GDI Windows (misalnya, HPEN atau HBRUSH).
Tampilkan Nilai
Bukan nol jika lampiran berhasil; jika tidak, 0.
CGdiObject::CGdiObject
Membuat CGdiObject
objek.
CGdiObject();
Keterangan
Anda tidak pernah membuat secara CGdiObject
langsung. Sebaliknya, Anda membuat objek dari salah satu kelas turunannya, seperti CPen
atau Cbrush
.
CGdiObject::CreateStockObject
Mengambil handel ke salah satu stok pena GDI Windows yang telah ditentukan sebelumnya, kuas, atau font, dan melampirkan objek GDI ke CGdiObject
objek.
BOOL CreateStockObject(int nIndex);
Parameter
nIndex
Konstanta yang menentukan jenis objek stok yang diinginkan. Lihat parameter fnObject untuk GetStockObject di Windows SDK untuk deskripsi nilai yang sesuai.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Panggil fungsi ini dengan salah satu kelas turunan yang sesuai dengan jenis objek Windows GDI, seperti CPen
untuk pena stok.
CGdiObject::D eleteObject
Menghapus objek Windows GDI terlampir dari memori dengan membebaskan semua penyimpanan sistem yang terkait dengan objek GDI Windows.
BOOL DeleteObject();
Tampilkan Nilai
Bukan nol jika objek GDI berhasil dihapus; jika tidak, 0.
Keterangan
Penyimpanan yang CGdiObject
terkait dengan objek tidak terpengaruh oleh panggilan ini. Aplikasi tidak boleh memanggil DeleteObject
CGdiObject
objek yang saat ini dipilih ke dalam konteks perangkat.
Ketika kuas pola dihapus, bitmap yang terkait dengan kuas tidak dihapus. Bitmap harus dihapus secara independen.
CGdiObject::D eleteTempMap
Dipanggil secara otomatis oleh CWinApp
handler idle-time, DeleteTempMap
menghapus objek sementara CGdiObject
yang dibuat oleh FromHandle
.
static void PASCAL DeleteTempMap();
Keterangan
DeleteTempMap
melepaskan objek GDI Windows yang dilampirkan ke objek sementara CGdiObject
sebelum menghapus CGdiObject
objek.
Contoh
// 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
Mencopot objek GDI Windows dari CGdiObject
objek dan mengembalikan handel ke objek GDI Windows.
HGDIOBJ Detach();
Tampilkan Nilai
HANDLE
objek GDI Windows dilepas; jika tidak, NULL jika tidak ada objek GDI yang terpasang.
CGdiObject::FromHandle
Mengembalikan penunjuk ke objek yang CGdiObject
diberikan handel ke objek GDI Windows.
static CGdiObject* PASCAL FromHandle(HGDIOBJ hObject);
Parameter
hObject
HANDLE ke objek GDI Windows.
Tampilkan Nilai
Penunjuk ke yang CGdiObject
mungkin bersifat sementara atau permanen.
Keterangan
CGdiObject
Jika objek belum dilampirkan ke objek GDI Windows, objek sementara CGdiObject
dibuat dan dilampirkan.
Objek sementara CGdiObject
ini hanya valid hingga kali berikutnya aplikasi memiliki waktu menganggur dalam perulangan peristiwanya, pada saat itu semua objek grafik sementara dihapus. Cara lain untuk mengatakan ini adalah bahwa objek sementara hanya valid selama pemrosesan satu pesan jendela.
CGdiObject::GetObject
Mengisi buffer dengan data yang menentukan objek tertentu.
int GetObject(
int nCount,
LPVOID lpObject) const;
Parameter
nCount
Menentukan jumlah byte yang akan disalin ke dalam buffer lpObject .
lpObject
Menunjuk ke buffer yang disediakan pengguna untuk menerima informasi.
Tampilkan Nilai
Jumlah byte yang diambil; jika tidak, 0 jika terjadi kesalahan.
Keterangan
Fungsi mengambil struktur data yang jenisnya bergantung pada jenis objek grafik, seperti yang ditunjukkan oleh daftar berikut:
Objek | Jenis buffer |
---|---|
CPen |
LOGPEN |
CBrush |
LOGBRUSH |
CFont |
LOGFONT |
CBitmap |
BITMAP |
CPalette |
WORD |
CRgn |
Tidak didukung |
Jika objek adalah CBitmap
objek, GetObject
hanya mengembalikan informasi format lebar, tinggi, dan warna bitmap. Bit aktual dapat diambil dengan menggunakan CBitmap::GetBitmapBits.
Jika objek adalah CPalette
objek, GetObject
mengambil WORD yang menentukan jumlah entri dalam palet. Fungsi ini tidak mengambil struktur LOGPALETTE yang menentukan palet. Aplikasi bisa mendapatkan informasi tentang entri palet dengan memanggil CPalette::GetPaletteEntries.
CGdiObject::GetObjectType
Mengambil jenis objek GDI.
UINT GetObjectType() const;
Tampilkan Nilai
Jenis objek, jika berhasil; jika tidak, 0. Nilainya dapat berupa salah satu dari berikut ini:
OBJ_BITMAP Bitmap
sikat OBJ_BRUSH
OBJ_FONT Font
Palet OBJ_PAL
pena OBJ_PEN
pena OBJ_EXTPEN Diperpanjang
Wilayah OBJ_REGION
konteks Perangkat OBJ_DC
konteks perangkat memori OBJ_MEMDC
OBJ_METAFILE Metafile
konteks perangkat metafile OBJ_METADC
metafile OBJ_ENHMETAFILE Ditingkatkan
OBJ_ENHMETADC konteks perangkat metafile yang disempurnakan
CGdiObject::GetSafeHandle
Mengembalikan m_hObject
kecuali this
null, dalam hal ini NULL dikembalikan.
HGDIOBJ GetSafeHandle() const;
Tampilkan Nilai
HANDLE ke objek GDI Windows terlampir; jika tidak, NULL jika tidak ada objek yang terpasang.
Keterangan
Ini adalah bagian dari paradigma antarmuka penanganan umum dan berguna ketika NULL adalah nilai yang valid atau khusus untuk handel.
Contoh
Lihat contoh untuk CWnd::IsWindowEnabled.
CGdiObject::m_hObject
HANDLE yang berisi HBITMAP, HRGN, HBRUSH, HPEN, HPALETTE, atau HFONT yang terpasang pada objek ini.
HGDIOBJ m_hObject;
CGdiObject::operator !=
Menentukan apakah dua objek GDI secara logis tidak sama.
BOOL operator!=(const CGdiObject& obj) const;
Parameter
Obj
Penunjuk ke CGdiObject
.
Keterangan
Menentukan apakah objek GDI di sisi kiri tidak sama dengan objek GDI di sisi kanan.
CGdiObject::operator ==
Menentukan apakah dua objek GDI secara logis sama.
BOOL operator==(const CGdiObject& obj) const;
Parameter
Obj
Referensi ke CGdiObject
.
Keterangan
Menentukan apakah objek GDI di sisi kiri sama dengan objek GDI di sisi kanan.
CGdiObject::operator HGDIOBJ
Mengambil HANDLE ke objek GDI Windows yang terpasang; jika tidak, NULL jika tidak ada objek yang terpasang.
operator HGDIOBJ() const;
CGdiObject::UnrealizeObject
Mengatur ulang asal kuas atau mengatur ulang palet logis.
BOOL UnrealizeObject();
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Sementara UnrealizeObject
itu adalah fungsi CGdiObject
anggota kelas, itu harus dipanggil hanya pada CBrush
objek atau CPalette
.
Untuk CBrush
objek, UnrealizeObject
mengarahkan sistem untuk mengatur ulang asal kuas yang diberikan saat berikutnya dipilih ke dalam konteks perangkat. Jika objek adalah CPalette
objek, UnrealizeObject
mengarahkan sistem untuk mewujudkan palet seolah-olah sebelumnya tidak direalisasikan. Lain kali aplikasi memanggil fungsi CDC::RealPalette untuk palet yang ditentukan, sistem sepenuhnya memetakan ulang palet logis ke palet sistem.
Fungsi UnrealizeObject
tidak boleh digunakan dengan objek stok. Fungsi UnrealizeObject
harus dipanggil setiap kali asal kuas baru diatur (dengan fungsi CDC::SetBrushOrg ). Fungsi UnrealizeObject
tidak boleh dipanggil untuk kuas yang saat ini dipilih atau palet yang saat ini dipilih dari konteks tampilan apa pun.
Lihat juga
Bagan Hierarki
Kelas CBitmap
Kelas CBrush
Kelas CFont
Kelas CPalette
Kelas CPen
Kelas CRgn