Функция DrawState

Declare Function DrawState Lib "user32" Alias "DrawStateA" ( _
    ByVal hDC As Long, ByVal hBrush As Long, _
    ByVal lpDrawStateProc As Long, ByVal lParam As Long, _
    ByVal wParam As Long, ByVal x As Long, ByVal y As Long, _
    ByVal cx As Long, ByVal cy As Long, ByVal flags As Long) As Long

DrawState выводит картинку с использованием различных визуальных эффектов, например в виде состояния недоступной картинки.

hDC
Описатель контекста устройства
hBrush
Кисть, используемая для рисования изображения, если используется параметр DSS_MONO
lpDrawStateProc
Указатель на функцию обратного вызова для перерисовки изображения. Данный параметр обязателен при использовании DST_COMPLEX. Можно использовать значение NULL при флаге DST_TEXT. Для остальных флагов данный параметр игнорируется
lParam
Задает информацию об изображении
wParam
Задает информацию об изображении
x
Горизонтальная позиция выводимого изображения
y
Вертикальная позиция выводимого изображения
cx
Ширина изображения. Данный параметр используется при флаге DST_COMPLEX. В других случаях можно использовать 0 для вычисления ширины изображения
cy
Высота изображения. Данный параметр используется при флаге DST_COMPLEX. В других случаях можно использовать 0 для вычисления высоты изображения
flags
Тип и состояние изображения. Может принимать следующие значения:
DST_BITMAP = &H4Растровое изображение. Дескриптор растрового изображения передается в параметр lParam
DST_COMPLEXИзображение определяется приложением при помощи функции обратного вызова
DST_ICONИзображение является значком. Дескриптор значка передается в параметр lParam
DST_PREFIXTEXTИзображением является текст, содержащий акселератор (&)
DST_TEXTИзображением является текст

Пример

' Добавим на форму Picturebox с картинкой и кнопку
Private Const DST_BITMAP = &H4
Private Const DSS_NORMAL = &H0
Private Const DSS_UNION = &H10
Private Const DSS_DISABLED = &H20
Private Const DSS_MONO = &H80

Picture1.Cls

DrawState Picture1.hDC, 0, 0, Picture1.Picture, _
   0, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, _
    DST_BITMAP Or DSS_UNION

Категория

Графика