다음을 통해 공유


CPalette 클래스

Windows 색상표를 캡슐화합니다.

구문

class CPalette : public CGdiObject

멤버

공용 생성자

속성 설명
CPalette::CPalette CPalette 연결된 Windows 팔레트가 없는 개체를 생성합니다. 개체를 CPalette 사용하려면 먼저 초기화 멤버 함수 중 하나를 사용하여 개체를 초기화해야 합니다.

공용 메서드

이름 설명
CPalette::AnimatePalette 개체로 식별되는 CPalette 논리 팔레트의 항목을 바꿉니다. Windows는 새 항목을 시스템 팔레트에 즉시 매핑하기 때문에 애플리케이션에서 클라이언트 영역을 업데이트할 필요가 없습니다.
CPalette::CreateHalftonePalette 디바이스 컨텍스트에 대한 하프톤 팔레트를 만들어 개체에 CPalette 연결합니다.
CPalette::CreatePalette Windows 색 팔레트를 만들어 개체에 CPalette 연결합니다.
CPalette::FromHandle Windows 색상표 개체에 CPalette 대한 핸들이 지정되면 개체에 대한 포인터를 반환합니다.
CPalette::GetEntryCount 논리 색상표의 색상표 항목 수를 검색합니다.
CPalette::GetNearestPaletteIndex 색 값과 가장 밀접하게 일치하는 논리적 색상표에서 항목의 인덱스 값을 반환합니다.
CPalette::GetPaletteEntries 논리 팔레트에서 색상표 항목의 범위를 검색합니다.
CPalette::ResizePalette 개체에서 지정한 CPalette 논리 팔레트의 크기를 지정된 항목 수로 변경합니다.
CPalette::SetPaletteEntries 논리적 색상표의 항목 범위에서 RGB 색 값 및 플래그를 설정합니다.

Public 연산자

이름 설명
CPalette::operator HPALETTE 에 연결된 HPALETTE를 CPalette반환합니다.

설명

색상표는 애플리케이션과 색상 출력 디바이스(예: 디스플레이 디바이스) 간의 인터페이스를 제공합니다. 이 인터페이스를 사용하면 애플리케이션이 다른 애플리케이션에서 표시하는 색을 심각하게 방해하지 않고 출력 디바이스의 색 기능을 최대한 활용할 수 있습니다. Windows는 애플리케이션의 논리 색상표(필요한 색 목록) 및 시스템 색상표(사용 가능한 색을 정의)를 사용하여 사용되는 색을 결정합니다.

개체는 CPalette 개체가 참조하는 색상표를 조작하기 위한 멤버 함수를 제공합니다. 개체를 CPalette 생성하고 해당 멤버 함수를 사용하여 실제 색상표, GDI(그래픽 디바이스 인터페이스) 개체를 만들고 해당 항목 및 기타 속성을 조작합니다.

사용에 CPalette대한 자세한 내용은 그래픽 개체를 참조 하세요.

상속 계층 구조

CObject

CGdiObject

CPalette

요구 사항

헤더: afxwin.h

CPalette::AnimatePalette

개체에 연결된 CPalette 논리 팔레트의 항목을 바꿉니다.

void AnimatePalette(
    UINT nStartIndex,
    UINT nNumEntries,
    LPPALETTEENTRY lpPaletteColors);

매개 변수

nStartIndex
애니메이션 효과를 적용할 색상표의 첫 번째 항목을 지정합니다.

nNumEntries
애니메이션 효과를 적용할 색상표의 항목 수를 지정합니다.

lpPaletteColors
PALETTEENTRY 구조체 배열의 첫 번째 멤버를 가리키며 nStartIndexnNumEntries로 식별되는 색상표 항목을 바꿉니다.

설명

Windows는 새 항목을 시스템 팔레트에 즉시 매핑하기 때문에 애플리케이션이 호출 AnimatePalette할 때 클라이언트 영역을 업데이트할 필요가 없습니다.

함수는 AnimatePalette 개체에 연결된 CPalette LOGPALETTE 구조체의 해당 palPaletteEntry 멤버에 설정된 PC_RESERVED 플래그가 있는 항목만 변경합니다. 이 구조에 대한 자세한 내용은 Windows SDK의 LOGPALETTE를 참조하세요.

CPalette::CPalette

CPalette 개체를 생성합니다.

CPalette();

설명

개체에 연결하기 위해 호출 CreatePalette 할 때까지 연결된 색상표가 없습니다.

CPalette::CreateHalftonePalette

디바이스 컨텍스트에 대한 하프톤 팔레트를 만듭니다.

BOOL CreateHalftonePalette(CDC* pDC);

매개 변수

pDC
디바이스 컨텍스트를 식별합니다.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

디바이스 컨텍스트의 스트레치 모드가 HALFTONE으로 설정된 경우 애플리케이션은 하프톤 팔레트를 만들어야 합니다. 그런 다음 CreateHalftonePalette 멤버 함수에서 반환된 논리적 하프톤 팔레트를 선택하고 CDC::StretchBlt 또는 StretchDIBits 함수가 호출되기 전에 디바이스 컨텍스트로 실현해야 합니다.

자세한 내용은 Windows SDK를 CreateHalftonePalette 참조하세요 StretchDIBits.

CPalette::CreatePalette

Windows 논리 색 팔레트를 만들고 개체에 연결하여 개체를 CPalette 초기화 CPalette 합니다.

BOOL CreatePalette(LPLOGPALETTE lpLogPalette);

매개 변수

lpLogPalette
논리 색상표의 색에 대한 정보가 들어 있는 LOGPALETTE 구조를 가리킵니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

구조에 대한 자세한 내용은 Windows SDK를 LOGPALETTE 참조하세요.

CPalette::FromHandle

Windows 색상표 개체에 CPalette 대한 핸들이 지정되면 개체에 대한 포인터를 반환합니다.

static CPalette* PASCAL FromHandle(HPALETTE hPalette);

매개 변수

hPalette
Windows GDI 색상표에 대한 핸들입니다.

Return Value

성공하면 개체에 대한 포인터입니다 CPalette . 그렇지 않으면 NULL입니다.

설명

개체가 CPalette Windows 팔레트에 아직 연결되지 않은 경우 임시 CPalette 개체가 만들어지고 연결됩니다. 이 임시 CPalette 개체는 다음에 애플리케이션이 이벤트 루프에서 유휴 시간을 가지며, 이때 모든 임시 그래픽 개체가 삭제될 때까지만 유효합니다. 즉, 임시 개체는 하나의 창 메시지를 처리하는 동안에만 유효합니다.

CPalette::GetEntryCount

이 멤버 함수를 호출하여 지정된 논리 팔레트의 항목 수를 검색합니다.

int GetEntryCount();

Return Value

논리 팔레트의 항목 수입니다.

CPalette::GetNearestPaletteIndex

지정한 색 값과 가장 밀접하게 일치하는 논리적 색상표에서 항목의 인덱스 값을 반환합니다.

UINT GetNearestPaletteIndex(COLORREF crColor) const;

매개 변수

crColor
일치시킬 색을 지정합니다.

Return Value

논리 팔레트에 있는 항목의 인덱스입니다. 항목에는 지정된 색과 거의 일치하는 색이 포함됩니다.

CPalette::GetPaletteEntries

논리 팔레트에서 색상표 항목의 범위를 검색합니다.

UINT GetPaletteEntries(
    UINT nStartIndex,
    UINT nNumEntries,
    LPPALETTEENTRY lpPaletteColors) const;

매개 변수

nStartIndex
검색할 논리 팔레트의 첫 번째 항목을 지정합니다.

nNumEntries
검색할 논리 팔레트의 항목 수를 지정합니다.

lpPaletteColors
색상표 항목을 받을 PALETTEENTRY 데이터 구조의 배열을 가리킵니다. 배열은 nNumEntries에 지정된 만큼의 데이터 구조를 포함해야 합니다.

Return Value

논리 팔레트에서 검색된 항목 수입니다. 함수가 실패한 경우 0입니다.

CPalette::operator HPALETTE

이 연산자를 사용하여 개체의 연결된 Windows GDI 핸들을 가져옵니다 CPalette .

operator HPALETTE() const;

Return Value

성공하면 개체가 나타내는 Windows GDI 개체에 대한 핸들이 CPalette 고, 그렇지 않으면 NULL입니다.

설명

이 연산자는 HPALETTE 개체의 직접 사용을 지원하는 캐스팅 연산자입니다.

그래픽 개체 사용에 대한 자세한 내용은 Windows SDK의 그래픽 개체 문서를 참조하세요.

CPalette::ResizePalette

개체에 연결된 CPalette 논리 팔레트의 크기를 nNumEntries에서 지정한 항목 수로 변경합니다.

BOOL ResizePalette(UINT nNumEntries);

매개 변수

nNumEntries
크기가 조정된 후 색상표의 항목 수를 지정합니다.

Return Value

색상표의 크기가 0이 아니면 0이 아닌 경우 그렇지 않으면 0입니다.

설명

애플리케이션이 색상표의 크기를 줄이기 위해 호출 ResizePalette 하는 경우 크기가 조정된 색상표에서 다시 기본 항목은 변경되지 않습니다. 애플리케이션에서 색상표를 확대하기 위해 호출 ResizePalette 하는 경우 추가 색상표 항목은 검은색으로 설정되고(빨간색, 녹색 및 파란색 값은 모두 0), 모든 추가 항목에 대한 플래그는 0으로 설정됩니다.

Windows APIResizePalette에 대한 자세한 내용은 Windows SDK의 ResizePalette를 참조하세요.

CPalette::SetPaletteEntries

논리적 색상표의 항목 범위에서 RGB 색 값 및 플래그를 설정합니다.

UINT SetPaletteEntries(
    UINT nStartIndex,
    UINT nNumEntries,
    LPPALETTEENTRY lpPaletteColors);

매개 변수

nStartIndex
설정할 논리 팔레트의 첫 번째 항목을 지정합니다.

nNumEntries
설정할 논리 팔레트의 항목 수를 지정합니다.

lpPaletteColors
색상표 항목을 받을 PALETTEENTRY 데이터 구조의 배열을 가리킵니다. 배열은 nNumEntries에 지정된 만큼의 데이터 구조를 포함해야 합니다.

Return Value

논리 팔레트에 설정된 항목 수입니다. 함수가 실패한 경우 0입니다.

설명

애플리케이션이 호출SetPaletteEntries할 때 논리 팔레트가 디바이스 컨텍스트로 선택된 경우 애플리케이션이 CDC::RealizePalette를 호출할 때까지 변경 내용이 적용되지 않습니다.

자세한 내용은 Windows SDK의 PALETTEENTRY를 참조하세요.

참고 항목

MFC 샘플 DIBLOOK
CGdiObject 클래스
계층 구조 차트
CPalette::GetPaletteEntries
CPalette::SetPaletteEntries