CPalette Sınıfı
Bir Windows renk paleti kapsüller.
Sözdizimi
class CPalette : public CGdiObject
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CPalette::CPalette | Ekli Windows paleti olmayan bir CPalette nesne oluşturur. Nesnenin CPalette kullanılabilmesi için önce başlatma üyesi işlevlerinden biriyle nesneyi başlatmanız gerekir. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CPalette::AnimatePalette | Nesne tarafından CPalette tanımlanan mantıksal paletteki girdileri değiştirir. Windows yeni girişleri sistem paletine hemen eşlediğinden uygulamanın istemci alanını güncelleştirmesi gerekmez. |
CPalette::CreateHalftonePalette | Cihaz bağlamı için bir yarım ton paleti oluşturur ve bunu nesneye CPalette ekler. |
CPalette::CreatePalette | Bir Windows renk paleti oluşturur ve nesneye CPalette ekler. |
CPalette::FromHandle | Windows palet nesnesine tanıtıcı CPalette verildiğinde nesneye bir işaretçi döndürür. |
CPalette::GetEntryCount | Mantıksal paletteki palet girdilerinin sayısını alır. |
CPalette::GetNearestPaletteIndex | Mantıksal paletteki bir renk değeriyle en yakın eşleşen girdinin dizinini döndürür. |
CPalette::GetPaletteEntries | Mantıksal palet içindeki palet girdileri aralığını alır. |
CPalette::ResizePalette | Nesne tarafından CPalette belirtilen mantıksal paletin boyutunu belirtilen sayıda girdiyle değiştirir. |
CPalette::SetPaletteEntries | Mantıksal paletteki bir dizi girdide RGB renk değerlerini ve bayraklarını ayarlar. |
Ortak İşleçler
Veri Akışı Adı | Açıklama |
---|---|
CPalette::operator HPALETTE | öğesine bağlı HPALETTE değerini CPalette döndürür. |
Açıklamalar
Palet, bir uygulama ile bir renk çıkış cihazı (görüntüleme cihazı gibi) arasında bir arabirim sağlar. Arabirim, uygulamanın diğer uygulamalar tarafından görüntülenen renklere ciddi şekilde müdahale etmeden çıkış cihazının renk özelliklerinden tam olarak yararlanmasını sağlar. Windows, kullanılan renkleri belirlemek için uygulamanın mantıksal paletini (gerekli renklerin listesi) ve sistem paletini (kullanılabilir renkleri tanımlar) kullanır.
Nesnesi CPalette
, nesne tarafından başvuruda bulunılan paleti işlemek için üye işlevleri sağlar. Bir CPalette
nesne oluşturun ve üye işlevlerini kullanarak gerçek paleti, grafik cihaz arabirimi (GDI) nesnesini oluşturun ve girdilerini ve diğer özelliklerini işleyin.
kullanma CPalette
hakkında daha fazla bilgi için bkz . Grafik Nesneleri.
Devralma Hiyerarşisi
CPalette
Gereksinimler
Üst bilgi: afxwin.h
CPalette::AnimatePalette
Nesneye eklenmiş CPalette
mantıksal paletteki girişleri değiştirir.
void AnimatePalette(
UINT nStartIndex,
UINT nNumEntries,
LPPALETTEENTRY lpPaletteColors);
Parametreler
nStartIndex
Paletteki animasyonlu olacak ilk girdiyi belirtir.
nNumEntries
Paletteki animasyonlu olacak girdi sayısını belirtir.
lpPaletteColors
nStartIndex ve nNumEntries tarafından tanımlanan palet girdilerini değiştirmek için paletteENTRY yapı dizisinin ilk üyesine işaret eder.
Açıklamalar
Bir uygulama çağırdığında AnimatePalette
, Windows yeni girişleri sistem paletine hemen eşlediğinden istemci alanını güncelleştirmesine gerek yoktur.
AnimatePalette
İşlev yalnızca nesneye bağlı LOGPALETTE yapısının ilgili palPaletteEntry
üyesinde ayarlanmış PC_RESERVED bayrağına sahip CPalette
girişleri değiştirir. Bu yapı hakkında daha fazla bilgi için bkz. Windows SDK'sında LOGPALETTE.
CPalette::CPalette
Bir CPalette
nesne oluşturur.
CPalette();
Açıklamalar
Siz eklemeye çağırana CreatePalette
kadar nesnenin ekli paleti yoktur.
CPalette::CreateHalftonePalette
Cihaz bağlamı için bir yarım ton paleti oluşturur.
BOOL CreateHalftonePalette(CDC* pDC);
Parametreler
pDC
Cihaz bağlamını tanımlar.
Dönüş Değeri
İşlev başarılı olursa sıfır dışında bir değer, aksi durumda 0.
Açıklamalar
Bir cihaz bağlamının esnetme modu HALFTONE olarak ayarlandığında bir uygulama yarım ton paleti oluşturmalıdır. Ardından CreateHalftonePalette üye işlevi tarafından döndürülen mantıksal yarım ton paleti, CDC::StretchBlt veya StretchDIBits işlevi çağrılmadan önce cihaz bağlamı içinde seçilmelidir ve gerçekleştirilmelidir.
ve StretchDIBits
hakkında CreateHalftonePalette
daha fazla bilgi için bkz. Windows SDK'sı.
CPalette::CreatePalette
Bir CPalette
Windows mantıksal renk paleti oluşturup nesneye CPalette
ekleyerek bir nesneyi başlatır.
BOOL CreatePalette(LPLOGPALETTE lpLogPalette);
Parametreler
lpLogPalette
Mantıksal paletteki renkler hakkında bilgi içeren bir LOGPALETTE yapısını gösterir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Yapı hakkında daha fazla bilgi için bkz. Windows SDK'sı LOGPALETTE
.
CPalette::FromHandle
Windows palet nesnesine tanıtıcı CPalette
verildiğinde nesneye bir işaretçi döndürür.
static CPalette* PASCAL FromHandle(HPALETTE hPalette);
Parametreler
hPalette
Windows GDI renk paleti tutamacı.
Dönüş Değeri
Başarılı olursa nesne CPalette
işaretçisi; aksi takdirde NULL.
Açıklamalar
Bir CPalette
nesne Windows paletine zaten bağlı değilse, geçici CPalette
bir nesne oluşturulur ve eklenir. Bu geçici CPalette
nesne, yalnızca uygulamanın olay döngüsünde boşta kalma süresine sahip olduğu ve tüm geçici grafik nesnelerinin silindiği bir sonraki zamana kadar geçerlidir. Başka bir deyişle, geçici nesne yalnızca bir pencere iletisinin işlenmesi sırasında geçerlidir.
CPalette::GetEntryCount
Belirli bir mantıksal paletteki girdi sayısını almak için bu üye işlevini çağırın.
int GetEntryCount();
Dönüş Değeri
Mantıksal paletteki girdilerin sayısı.
CPalette::GetNearestPaletteIndex
Mantıksal paletteki girdinin belirtilen renk değeriyle en yakın eşleşen dizinini döndürür.
UINT GetNearestPaletteIndex(COLORREF crColor) const;
Parametreler
crColor
Eşleştirilecek rengi belirtir.
Dönüş Değeri
Mantıksal paletteki bir girdinin dizini. Girdi, belirtilen renkle neredeyse eşleşen rengi içerir.
CPalette::GetPaletteEntries
Mantıksal palet içindeki palet girdileri aralığını alır.
UINT GetPaletteEntries(
UINT nStartIndex,
UINT nNumEntries,
LPPALETTEENTRY lpPaletteColors) const;
Parametreler
nStartIndex
Alınacak mantıksal paletteki ilk girdiyi belirtir.
nNumEntries
Alınacak mantıksal paletteki girdi sayısını belirtir.
lpPaletteColors
Palet girdilerini almak için paletteENTRY veri yapıları dizisine işaret eder. Dizi, nNumEntries tarafından belirtilen en az sayıda veri yapısı içermelidir.
Dönüş Değeri
Mantıksal paletten alınan girdilerin sayısı; İşlev başarısız olursa 0.
CPalette::operator HPALETTE
Nesnenin ekli Windows GDI tutamacını CPalette
almak için bu işleci kullanın.
operator HPALETTE() const;
Dönüş Değeri
Başarılı olursa, nesne tarafından temsil edilen Windows GDI nesnesinin CPalette
tanıtıcısı; aksi takdirde NULL.
Açıklamalar
Bu işleç, bir HPALETTE nesnesinin doğrudan kullanımını destekleyen bir atama işlecidir.
Grafik nesnelerini kullanma hakkında daha fazla bilgi için Windows SDK'sında Grafik Nesneleri makalesine bakın.
CPalette::ResizePalette
Nesneye CPalette
eklenen mantıksal paletin boyutunu nNumEntries tarafından belirtilen girdi sayısına değiştirir.
BOOL ResizePalette(UINT nNumEntries);
Parametreler
nNumEntries
Palet yeniden boyutlandırıldıktan sonra gelen girdi sayısını belirtir.
Dönüş Değeri
Palet başarıyla yeniden boyutlandırıldıysa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bir uygulama paletin boyutunu küçültmek için çağırırsa ResizePalette
, yeniden boyutlandırılan palette kalan girdiler değişmez. Uygulama paleti büyütmek için çağırırsa ResizePalette
, ek palet girişleri siyah olarak ayarlanır (kırmızı, yeşil ve mavi değerlerin tümü 0'dır) ve tüm ek girdilerin bayrakları 0 olarak ayarlanır.
Windows API'si ResizePalette
hakkında daha fazla bilgi için bkz . Windows SDK'sında ResizePalette .
CPalette::SetPaletteEntries
Mantıksal paletteki bir dizi girdide RGB renk değerlerini ve bayraklarını ayarlar.
UINT SetPaletteEntries(
UINT nStartIndex,
UINT nNumEntries,
LPPALETTEENTRY lpPaletteColors);
Parametreler
nStartIndex
Ayarlanacak mantıksal paletteki ilk girdiyi belirtir.
nNumEntries
Ayarlanacak mantıksal paletteki girdi sayısını belirtir.
lpPaletteColors
Palet girdilerini almak için paletteENTRY veri yapıları dizisine işaret eder. Dizi, nNumEntries tarafından belirtilen en az sayıda veri yapısı içermelidir.
Dönüş Değeri
Mantıksal palette ayarlanan girdi sayısı; İşlev başarısız olursa 0.
Açıklamalar
Uygulama çağırdığında SetPaletteEntries
mantıksal palet bir cihaz bağlamında seçilirse, uygulama CDC::RealizePalette'i çağırana kadar değişiklikler geçerli olmaz.
Daha fazla bilgi için bkz . Windows SDK'sında PALETTEENTRY .
Ayrıca bkz.
MFC Örneği DIBLOOK
CGdiObject Sınıfı
Hiyerarşi Grafiği
CPalette::GetPaletteEntries
CPalette::SetPaletteEntries