Функция SetSystemPaletteUse дает возможность приложению определить, содержит ли системная палитра 2 или 20 статических цветов. По умолчанию системная палитра содержит 20 статических цветов. (Статические цвета не могут измениться, когда приложение реализует логическую палитру.)
Синтаксис
UINT SetSystemPaletteUse( HDC hdc, // handle to DC UINT uUsage // palette usage ); |
hdc
[in] Дескриптор контекста устройства. Этот контекст устройства должен ссылаться на устройство, которое поддерживает цветовые палитры.
uUsage
[in] Определяет новое использование системной палитры. Этот параметр может быть одним из нижеследующих значений.
Значение | Предназначение |
---|---|
SYSPAL_NOSTATIC | Системная палитра содержит в себе два (черный и белый) статических цвета. |
SYSPAL_NOSTATIC256 | Windows 2000/XP: Системная палитра не содержит в себе никаких статических цветов. |
SYSPAL_STATIC | Системная палитра содержит в себе статические цвета, которые не будут изменяться, когда приложение реализует свою логическую палитру. |
Если функция завершается успешно, возвращаемое значение - предыдущая системная палитра. Это может быть или SYSPAL_NOSTATIC, SYSPAL_NOSTATIC256 или SYSPAL_STATIC.
Если функция завершается ошибкой, возвращаемое значение - SYSPAL_ERROR.
Windows NT/2000/XP: Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Приложение может установить, поддерживает ли устройство операции палитры при помощи вызова функция GetDeviceCaps и определение константы RASTERCAPS.
Когда окно приложения перемещается на передний план и устанавливается значение SYSPAL_NOSTATIC, приложение должно вызвать функцию функцию GetSysColor, чтобы сохранить существующую систему параметров цвета. Оно должно также вызвать функцию SetSysColors, чтобы установить допустимые значения, используя только черный и белый цвета. Когда приложение возвращается в фоновый режим или завершает работу, предыдущие системные цвета должны быть восстановлены.
Если функция возвращает значение SYSPAL_ERROR, контекст указанного устройства недопустим или фактически не поддерживает цветовые палитры.
Приложение должно вызвать эту функцию только тогда, когда, его окно развернуто и имеет фокус ввода.
Если приложение вызывает SetSystemPaletteUse с установкой параметра uUsage в SYSPAL_NOSTATIC, система продолжает устанавливать отдельно две записи в системной палитре для чистого белого цвета и чистого черного цвета, соответственно.
После вызова этой функции с параметром uUsage установленным в SYSPAL_NOSTATIC, приложение должно принять нижеследующие меры:
Когда окно приложения теряет фокус или закрывается, приложение должно выполнить следующие действия:
Обзор Цвета,
Функции, используемые цветом,
GetDeviceCaps,
Размещение и совместимость SetSystemPaletteUse |
||
К | Windows XP | Да |
л | Windows 2000 Professional | Да |
и | Windows NT Workstation | Да версии 3.1 и выше |
е | Windows Me | Да |
н | Windows 98 | Да |
т | Windows 95 | Да |
С | Windows Server 2003 | Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Да |
в | ||
е | ||
р | ||
Используемая библиотека | Gdi32.lib | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | Wingdi.h | |
- включено в | Windows.h | |
Unicode | Нет | |
Замечания по платформе | Не имеется |