Bagikan melalui


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

CObject

CGdiObject

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