SetSystemPaletteUse 함수(wingdi.h)
SetSystemPaletteUse 함수를 사용하면 애플리케이션에서 시스템 팔레트에 2 또는 20개의 정적 색이 포함되어 있는지 여부를 지정할 수 있습니다. 기본 시스템 팔레트에는 20가지 정적 색이 포함되어 있습니다. (애플리케이션에서 논리적 팔레트를 인식하면 정적 색을 변경할 수 없습니다.)
구문
UINT SetSystemPaletteUse(
[in] HDC hdc,
[in] UINT use
);
매개 변수
[in] hdc
디바이스 컨텍스트에 대한 핸들입니다. 이 디바이스 컨텍스트는 색상표를 지원하는 디바이스를 참조해야 합니다.
[in] use
시스템 팔레트의 새로운 사용. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
시스템 색상표에는 두 가지 정적 색(흑백)이 포함됩니다. |
|
시스템 색상표에는 정적 색이 없습니다. |
|
시스템 팔레트에는 애플리케이션이 논리적 팔레트를 인식할 때 변경되지 않는 정적 색이 포함되어 있습니다. |
반환 값
함수가 성공하면 반환 값은 이전 시스템 팔레트입니다. SYSPAL_NOSTATIC, SYSPAL_NOSTATIC256 또는 SYSPAL_STATIC 수 있습니다.
함수가 실패하면 반환 값이 SYSPAL_ERROR.
설명
애플리케이션은 GetDeviceCaps 함수를 호출하고 RASTERCAPS 상수를 지정하여 디바이스가 팔레트 작업을 지원하는지 여부를 확인할 수 있습니다.
애플리케이션 창이 포그라운드로 이동하고 SYSPAL_NOSTATIC 값이 설정되면 애플리케이션은 GetSysColor 함수를 호출하여 현재 시스템 색 설정을 저장해야 합니다. 또한 SetSysColors를 호출하여 흑백만 사용하여 적절한 값을 설정해야 합니다. 애플리케이션이 백그라운드로 반환되거나 종료되면 이전 시스템 색을 복원해야 합니다.
함수가 SYSPAL_ERROR 반환하는 경우 지정된 디바이스 컨텍스트가 잘못되었거나 색상표를 지원하지 않습니다.
애플리케이션은 창이 최대화되고 입력 포커스가 있는 경우에만 이 함수를 호출해야 합니다.
애플리케이션이 uUsage가 SYSPAL_NOSTATIC 설정된 SetSystemPaletteUse를 호출하는 경우 시스템은 각각 순수 흰색 및 순수 검정에 대해 시스템 팔레트에 두 개의 항목을 따로 설정합니다.
uUsage가 SYSPAL_NOSTATIC 설정된 상태에서 이 함수를 호출한 후 애플리케이션은 다음 단계를 수행해야 합니다.
- 논리적 팔레트를 실현합니다.
- GetSysColor 함수를 호출하여 현재 시스템 색 설정을 저장합니다.
- SetSysColors 함수를 호출하여 시스템 색을 흑백을 사용하여 적절한 값으로 설정합니다. 예를 들어 인접하거나 겹치는 항목(예: 창 프레임 및 테두리)은 각각 흑백으로 설정해야 합니다.
- WM_SYSCOLORCHANGE 메시지를 다른 최상위 창으로 보내 새 시스템 색으로 다시 그릴 수 있도록 합니다.
- uUsage 매개 변수가 SYSPAL_STATIC 설정된 SetSystemPaletteUse를 호출합니다.
- 논리적 팔레트를 실현합니다.
- 시스템 색을 이전 값으로 복원합니다.
- WM_SYSCOLORCHANGE 메시지를 보냅니다.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | wingdi.h(Windows.h 포함) |
라이브러리 | Gdi32.lib |
DLL | Gdi32.dll |