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


Функция 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
Изображение представляет собой текст, который может содержать мнемонический ускоритель. DrawState интерпретирует символ префикса амперсанда (&) как директиву для подчеркивания следующего символа. Параметр lData является указателем на строку, а параметр wData указывает длину. Если wData равно нулю, строка должна заканчиваться null.
DST_TEXT
Изображение представляет собой текст. Параметр lData является указателем на строку, а параметр wData указывает длину. Если wData равно нулю, строка должна заканчиваться null.
 

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

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

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

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

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

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

Комментарии

Примечание

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

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll

См. также раздел

DrawStateProc

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

Общие сведения о рисовании и рисовании