18 сент. 2010 г.

DrawState

Функция DrawState отображает изображение и приспосабливает визуальный эффект для указания состояния, таких как отключенность или состояние по умолчанию.
BOOL WINAPI DrawState(
    HDC hdc, // дескриптор контекста устройства
    HBRUSH hbr, // дескриптор кисти
    DRAWSTATEPROC lpOutputFunc, // адрес функции обратного вызова
    LPARAM lData, // информация об изображении
    WPARAM wData, // еще информация об изображении
    int x, // горизонтальное положение изображения
    int y, // вертикальное положение изображения
    int cx, // длина изображения
    int cy, // высота изображения
    UINT fuFlags // тип и состояние изображения
   );
Параметры:
hdcУказывает дескриптор контекста устройства, в котором происходит прорисовка.
hbrУказывает кисть, которой прорисовывается изображение, если состояние в параметре fuFlags имеет значение DSS_MONO. Этот параметр игнорируется при других состояниях.
lpOutputFuncАдрес определенной приложением функции обратного вызова, которая используется для рендеринга (прорисовки) изображения. Этот параметр требуется, если тип изображения в fuFlags имеет значение DST_COMPLEX. Это не обязательно и может быть равным NULL, если тип изображения DST_TEXT. Для всех других типов, этот параметр игнорируется. Для получения большей информации о функции обратного вызова, смотрите описание функции DrawStateProc.
lDataОпределяет информацию изображения. Назначение этого параметра зависит от типа изображения.
wDataОпределяет информацию изображения. Назначение этого параметра зависит от типа изображения. Он, как обычно, заполнен нулями при использовании в функции DrawStateProc.
xОпределяет горизонтальное положение, в котором отображается изображение.
yОпределяет вертикальное положение, в котором отображается изображение.
cxОпределяет длину изображения, в цифрах исчисления устройства. Этот параметр требуется, если тип изображения имеет значение DST_COMPLEX. В других случаях, этот параметр может быть нулевым для подсчета длины изображения.
cyОпределяет высоту изображения, в цифрах исчисления устройства. Этот параметр требуется, если тип изображения имеет значение DST_COMPLEX. В других случаях, этот параметр может быть нулевым для подсчета высоты изображения.
fuFlagsОпределяет тип и состояние изображения.
Тип может принимать одно из следующих значений:
Значение типа:
Описание:
DST_BITMAPИзображение является растровым. Младшее слово параметра lData содержит дескриптор растрового изображения.
DST_COMPLEXИзображение определено приложением. Для рендеринга изображения, DrawState вызывает функцию обратного вызова, указанную в параметре lpOutputFunc.
DST_ICONИзображение является иконкой. Младшее слово параметра lData содержит дескриптор иконки.
DST_PREFIXTEXTИзображение является текстом, который может содержать символический акселератор. DrawState переводит знак амперсанта (&) как признак к подчеркиванию следующего за ним символа. Параметр lData определяет адрес строки, и параметр wData содержит длину строки. Если wData равен нулю, то строка должна заканчиватся нулевым символом.
DST_TEXTИзображение является текстом. Параметр lData определяет адрес строки, и параметр wData содержит длину строки. Если wData равен нулю, то строка должна заканчиватся нулевым символом.

Состояние может принимать одно из следующих значений:
Значение состояния:
Описание:
DSS_NORMALИзображение прорисовывается безо всякой модификации.
DSS_UNIONСглаживает изображение.
DSS_DISABLEDРельефное изображение.
DSS_MONOВыводит изображение, используя кисть, указанную параметром hbr.
DSS_RIGHTВыравнивает текст вправо.
DSS_PREFIXONLY(Начиная с Win2000) Выводит только подчеркнутые амперсантом символы. Текст в строке не выводится. Используется с DST_PREFIXTEXT.

Для всех состояний, исключая DSS_NORMAL, изображение преобразуется к одноцветному перед выполнением визуального эффекта.

Возвращаемые значения:
При успешном завершении, функция возвращает ненулевое значение.
При ошибке возвращается ноль.
Смотрите также: