Поделиться через


Функция DrawStateA (winuser.h)

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

Синтаксис

BOOL DrawStateA(
  [in] HDC           hdc,
  [in] HBRUSH        hbrFore,
  [in] DRAWSTATEPROC qfnCallBack,
  [in] LPARAM        lData,
  [in] WPARAM        wData,
  [in] int           x,
  [in] int           y,
  [in] int           cx,
  [in] int           cy,
  [in] UINT          uFlags
);

Параметры

[in] hdc

Дескриптор контекста устройства для рисования.

[in] hbrFore

Дескриптор кисти, используемый для рисования изображения, если состояние, указанное параметром fuFlags, DSS_MONO. Этот параметр игнорируется для других состояний.

[in] qfnCallBack

Указатель на определяемую приложением функцию обратного вызова, используемую для отрисовки изображения. Этот параметр требуется, если тип изображения в fuFlags DST_COMPLEX. Это необязательно и может быть NULL, если тип изображения DST_TEXT. Для всех других типов изображений этот параметр игнорируется. Дополнительные сведения о функции обратного вызова см. в функции DrawStateProc.

[in] lData

Сведения об изображении. Значение этого параметра зависит от типа изображения.

[in] wData

Сведения об изображении. Значение этого параметра зависит от типа изображения. Однако оно равно нулю для использования с функцией DrawStateProc.

[in] x

Горизонтальное расположение в единицах устройства, на котором нарисовывается изображение.

[in] y

Вертикальное расположение в единицах устройства, на котором нарисовывается изображение.

[in] cx

Ширина изображения в единицах устройства. Этот параметр требуется, если тип изображения DST_COMPLEX. В противном случае значение может быть равно нулю, чтобы вычислить ширину изображения.

[in] cy

Высота изображения в единицах устройства. Этот параметр требуется, если тип изображения DST_COMPLEX. В противном случае значение может быть равно нулю, чтобы вычислить высоту изображения.

[in] uFlags

Тип изображения и состояние. Этот параметр может быть одним из следующих значений типа.

Значение (тип) Значение
DST_BITMAP
Изображение представляет собой растровое изображение. Параметр lData — это дескриптор растрового изображения. Обратите внимание, что растровое изображение уже не может быть выбрано в существующем контексте устройства.
DST_COMPLEX
Изображение определяется приложением. Чтобы отобразить изображение, DrawState вызывает функцию обратного вызова, указанную параметром lpOutputFunc.
DST_ICON
Изображение — это значок. Параметр lData — это дескриптор значка.
DST_PREFIXTEXT
Изображение — это текст, который может содержать mnemonic акселератора. DrawState интерпретирует префикс амперсанда (&) в качестве директивы, чтобы подчеркнуть символ, который следует за символом. Параметр lData является указателем на строку, а параметр wData wData указывает длину. Если wData равно нулю, строка должна быть завершена null.
DST_TEXT
Изображение — текст. Параметр lData является указателем на строку, а параметр wData wData указывает длину. Если wData равно нулю, строка должна быть завершена null.
 

Этот параметр также может быть одним из следующих значений состояния.

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

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

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение ненулевое.

Если функция завершается ошибкой, возвращаемое значение равно нулю.

Замечания

Заметка

Заголовок winuser.h определяет DrawState как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winuser.h (включая Windows.h)
библиотеки User32.lib
DLL User32.dll

См. также

DrawStateProc

функции рисования и рисования

обзор рисования и рисования