Kelas CPalette
Merangkum palet warna Windows.
Sintaks
class CPalette : public CGdiObject
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CPalette::CPalette | Membuat CPalette objek tanpa palet Windows yang terpasang. Anda harus menginisialisasi CPalette objek dengan salah satu fungsi anggota inisialisasi sebelum dapat digunakan. |
Metode Publik
Nama | Deskripsi |
---|---|
CPalette::AnimatePalette | Mengganti entri dalam palet logis yang diidentifikasi oleh CPalette objek. Aplikasi tidak perlu memperbarui area kliennya, karena Windows segera memetakan entri baru ke palet sistem. |
CPalette::CreateHalftonePalette | Membuat palet halftone untuk konteks perangkat dan melampirkannya ke CPalette objek. |
CPalette::CreatePalette | Membuat palet warna Windows dan melampirkannya ke CPalette objek. |
CPalette::FromHandle | Mengembalikan penunjuk ke CPalette objek saat diberikan handel ke objek palet Windows. |
CPalette::GetEntryCount | Mengambil jumlah entri palet dalam palet logis. |
CPalette::GetNearestPaletteIndex | Mengembalikan indeks entri dalam palet logika yang paling cocok dengan nilai warna. |
CPalette::GetPaletteEntries | Mengambil berbagai entri palet dalam palet logis. |
CPalette::ResizePalette | Mengubah ukuran palet logis yang ditentukan oleh CPalette objek ke jumlah entri yang ditentukan. |
CPalette::SetPaletteEntries | Mengatur nilai warna RGB dan bendera dalam rentang entri dalam palet logis. |
Operator Publik
Nama | Deskripsi |
---|---|
CPalette::operator HPALETTE | Mengembalikan HPALETTE yang dilampirkan ke CPalette . |
Keterangan
Palet menyediakan antarmuka antara aplikasi dan perangkat output warna (seperti perangkat tampilan). Antarmuka memungkinkan aplikasi untuk memanfaatkan sepenuhnya kemampuan warna perangkat output tanpa sangat mengganggu warna yang ditampilkan oleh aplikasi lain. Windows menggunakan palet logis aplikasi (daftar warna yang diperlukan) dan palet sistem (yang menentukan warna yang tersedia) untuk menentukan warna yang digunakan.
Objek CPalette
menyediakan fungsi anggota untuk memanipulasi palet yang dirujuk oleh objek. CPalette
Buat objek dan gunakan fungsi anggotanya untuk membuat palet aktual, objek antarmuka perangkat grafis (GDI), dan untuk memanipulasi entri dan properti lainnya.
Untuk informasi selengkapnya tentang menggunakan CPalette
, lihat Objek Grafis.
Hierarki Warisan
CPalette
Persyaratan
Header: afxwin.h
CPalette::AnimatePalette
Mengganti entri dalam palet logis yang dilampirkan ke CPalette
objek.
void AnimatePalette(
UINT nStartIndex,
UINT nNumEntries,
LPPALETTEENTRY lpPaletteColors);
Parameter
nStartIndex
Menentukan entri pertama dalam palet yang akan dianimasikan.
nNumEntries
Menentukan jumlah entri dalam palet yang akan dianimasikan.
lpPaletteColors
Arahkan ke anggota pertama dari array struktur PALETTEENTRY untuk mengganti entri palet yang diidentifikasi oleh nStartIndex dan nNumEntries.
Keterangan
Ketika aplikasi memanggil AnimatePalette
, aplikasi tidak perlu memperbarui area kliennya, karena Windows segera memetakan entri baru ke palet sistem.
Fungsi AnimatePalette
ini hanya akan mengubah entri dengan bendera PC_RESERVED yang diatur dalam anggota struktur LOGPALETTE yang sesuai palPaletteEntry
yang dilampirkan ke CPalette
objek. Lihat LOGPALETTE di Windows SDK untuk informasi selengkapnya tentang struktur ini.
CPalette::CPalette
Membuat CPalette
objek.
CPalette();
Keterangan
Objek tidak memiliki palet terlampir sampai Anda memanggil CreatePalette
untuk melampirkan satu.
CPalette::CreateHalftonePalette
Membuat palet halftone untuk konteks perangkat.
BOOL CreateHalftonePalette(CDC* pDC);
Parameter
pDC
Mengidentifikasi konteks perangkat.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Aplikasi harus membuat palet halftone saat mode peregangan konteks perangkat diatur ke HALFTONE. Palet halftone logis yang dikembalikan oleh fungsi anggota CreateHalftonePalette kemudian harus dipilih dan direalisasikan ke dalam konteks perangkat sebelum fungsi CDC::StretchBlt atau StretchDIBits dipanggil.
Lihat Windows SDK untuk informasi selengkapnya tentang CreateHalftonePalette
dan StretchDIBits
.
CPalette::CreatePalette
Menginisialisasi CPalette
objek dengan membuat palet warna logis Windows dan melampirkannya ke CPalette
objek.
BOOL CreatePalette(LPLOGPALETTE lpLogPalette);
Parameter
lpLogPalette
Menunjuk ke struktur LOGPALETTE yang berisi informasi tentang warna di palet logis.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Lihat Windows SDK untuk informasi selengkapnya tentang LOGPALETTE
struktur.
CPalette::FromHandle
Mengembalikan penunjuk ke CPalette
objek saat diberikan handel ke objek palet Windows.
static CPalette* PASCAL FromHandle(HPALETTE hPalette);
Parameter
hPalette
Handel ke palet warna GDI Windows.
Tampilkan Nilai
Penunjuk ke CPalette
objek jika berhasil; jika tidak, NULL.
Keterangan
CPalette
Jika objek belum dilampirkan ke palet Windows, objek sementara CPalette
dibuat dan dilampirkan. Objek sementara CPalette
ini hanya berlaku sampai kali berikutnya aplikasi memiliki waktu menganggur dalam perulangan peristiwanya, di mana semua objek grafis sementara dihapus. Dengan kata lain, objek sementara hanya valid selama pemrosesan satu pesan jendela.
CPalette::GetEntryCount
Panggil fungsi anggota ini untuk mengambil jumlah entri dalam palet logis tertentu.
int GetEntryCount();
Tampilkan Nilai
Jumlah entri dalam palet logis.
CPalette::GetNearestPaletteIndex
Mengembalikan indeks entri dalam palet logika yang paling cocok dengan nilai warna yang ditentukan.
UINT GetNearestPaletteIndex(COLORREF crColor) const;
Parameter
crColor
Menentukan warna yang akan dicocokkan.
Tampilkan Nilai
Indeks entri dalam palet logis. Entri berisi warna yang paling hampir cocok dengan warna yang ditentukan.
CPalette::GetPaletteEntries
Mengambil berbagai entri palet dalam palet logis.
UINT GetPaletteEntries(
UINT nStartIndex,
UINT nNumEntries,
LPPALETTEENTRY lpPaletteColors) const;
Parameter
nStartIndex
Menentukan entri pertama dalam palet logis yang akan diambil.
nNumEntries
Menentukan jumlah entri dalam palet logis yang akan diambil.
lpPaletteColors
Menunjuk ke array struktur data PALETTEENTRY untuk menerima entri palet. Array harus berisi setidaknya struktur data sebanyak yang ditentukan oleh nNumEntries.
Tampilkan Nilai
Jumlah entri yang diambil dari palet logis; 0 jika fungsi gagal.
CPalette::operator HPALETTE
Gunakan operator ini untuk mendapatkan handel Windows GDI objek yang CPalette
terpasang.
operator HPALETTE() const;
Tampilkan Nilai
Jika berhasil, handel ke objek GDI Windows yang diwakili oleh CPalette
objek; jika tidak, NULL.
Keterangan
Operator ini adalah operator transmisi, yang mendukung penggunaan langsung objek HPALETTE.
Untuk informasi selengkapnya tentang menggunakan objek grafis, lihat artikel Objek Grafis di Windows SDK.
CPalette::ResizePalette
Mengubah ukuran palet logis yang dilampirkan ke CPalette
objek ke jumlah entri yang ditentukan oleh nNumEntries.
BOOL ResizePalette(UINT nNumEntries);
Parameter
nNumEntries
Menentukan jumlah entri dalam palet setelah diubah ukurannya.
Tampilkan Nilai
Bukan nol jika palet berhasil diubah ukurannya; jika tidak, 0.
Keterangan
Jika aplikasi memanggil ResizePalette
untuk mengurangi ukuran palet, entri yang tersisa di palet yang diubah ukurannya tidak berubah. Jika aplikasi memanggil untuk memperbesar ResizePalette
palet, entri palet tambahan diatur ke hitam (nilai merah, hijau, dan biru semuanya 0), dan bendera untuk semua entri tambahan diatur ke 0.
Untuk informasi selengkapnya tentang Windows API ResizePalette
, lihat ResizePalette di Windows SDK.
CPalette::SetPaletteEntries
Mengatur nilai warna RGB dan bendera dalam rentang entri dalam palet logis.
UINT SetPaletteEntries(
UINT nStartIndex,
UINT nNumEntries,
LPPALETTEENTRY lpPaletteColors);
Parameter
nStartIndex
Menentukan entri pertama dalam palet logis yang akan diatur.
nNumEntries
Menentukan jumlah entri dalam palet logis yang akan diatur.
lpPaletteColors
Menunjuk ke array struktur data PALETTEENTRY untuk menerima entri palet. Array harus berisi setidaknya struktur data sebanyak yang ditentukan oleh nNumEntries.
Tampilkan Nilai
Jumlah entri yang diatur dalam palet logis; 0 jika fungsi gagal.
Keterangan
Jika palet logis dipilih ke dalam konteks perangkat saat aplikasi memanggil SetPaletteEntries
, perubahan tidak akan berlaku sampai aplikasi memanggil CDC::RealPalette.
Untuk informasi selengkapnya, lihat PALETTEENTRY di Windows SDK.
Lihat juga
Sampel MFC DIBLOOK
Kelas CGdiObject
Bagan Hierarki
CPalette::GetPaletteEntries
CPalette::SetPaletteEntries