Aracılığıyla paylaş


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 CPalettedö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 CPalettehakkında daha fazla bilgi için bkz . Grafik Nesneleri.

Devralma Hiyerarşisi

CObject

CGdiObject

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 StretchDIBitshakkı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 ResizePalettehakkı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 SetPaletteEntriesmantı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