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

Функция DrawFrameControl рисует элемент управления кадром указанного типа и стиля.

Синтаксис

BOOL DrawFrameControl(
  [in] HDC    hdc,
  [in] LPRECT lprc,
  [in] UINT   uType,
  [in] UINT   uState
);

Параметры

[in] hdc

Дескриптор контекста устройства окна, в котором выполняется рисование элемента управления.

[in] lprc

Указатель на структуру RECT , содержащую логические координаты ограничивающего прямоугольника для элемента управления кадром.

[in] uType

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

Значение Значение
DFC_BUTTON
Кнопка "Стандартный"
DFC_CAPTION
Заголовок окна
DFC_MENU
Строка меню
DFC_POPUPMENU
Пункт всплывающего меню.
DFC_SCROLL
полоса прокрутки;

[in] uState

Начальное состояние элемента управления кадром. Если uType имеет значение DFC_BUTTON, uState может иметь одно из следующих значений.

Значение Значение
DFCS_BUTTON3STATE
Кнопка с тремя состояниями
DFCS_BUTTONCHECK
Флажок
DFCS_BUTTONPUSH
Кнопка
DFCS_BUTTONRADIO
Переключатель
DFCS_BUTTONRADIOIMAGE
Изображение переключателя (изображение не требуется)
DFCS_BUTTONRADIOMASK
Маска для переключателя (маска не требуется)
 

Если uType имеет DFC_CAPTION, uState может иметь одно из следующих значений.

Значение Значение
DFCS_CAPTIONCLOSE
Кнопка "Закрыть"
DFCS_CAPTIONHELP
Кнопка "Справка "
DFCS_CAPTIONMAX
Кнопка "Развернуть"
DFCS_CAPTIONMIN
Кнопка свернуть
DFCS_CAPTIONRESTORE
Кнопка "Восстановить"
 

Если uType имеет DFC_MENU, uState может иметь одно из следующих значений.

Значение Значение
DFCS_MENUARROW
Стрелка вложенного меню
DFCS_MENUARROWRIGHT
Стрелка подменю, указывающая влево. Используется для каскадных меню справа налево, используемых с языками справа налево, такими как арабский или иврит.
DFCS_MENUBULLET
Пуля
DFCS_MENUCHECK
Флажок
 

Если uType имеет DFC_SCROLL, uState может иметь одно из следующих значений.

Значение Значение
DFCS_SCROLLCOMBOBOX
Полоса прокрутки поля со списком
DFCS_SCROLLDOWN
Стрелка вниз полосы прокрутки
DFCS_SCROLLLEFT
Стрелка влево полосы прокрутки
DFCS_SCROLLRIGHT
Стрелка вправо полосы прокрутки
DFCS_SCROLLSIZEGRIP
Размер захвата в правом нижнем углу окна
DFCS_SCROLLSIZEGRIPRIGHT
Сцепление размера в левом нижнем углу окна. Используется с языками справа налево, такими как арабский или иврит.
DFCS_SCROLLUP
Стрелка вверх полосы прокрутки
 

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

Значение Значение
DFCS_ADJUSTRECT
Ограничивающий прямоугольник настраивается таким образом, чтобы исключить окружающий край кнопки.
 

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

Значение Значение
DFCS_CHECKED
Установлен флажок Кнопка.
DFCS_FLAT
Кнопка имеет плоскую границу.
DFCS_HOT
Кнопка отслеживается в горячем режиме.
DFCS_INACTIVE
Кнопка неактивна (выделена серым цветом).
DFCS_MONO
Кнопка имеет монохромную границу.
DFCS_PUSHED
Кнопка нажала.
DFCS_TRANSPARENT
Фон остается нетронутым. Этот флаг можно сочетать только с DFCS_MENUARROWUP или DFCS_MENUARROWDOWN.

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

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

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

Комментарии

Если uType имеет значение DFC_MENU или DFC_BUTTON, а uState не DFCS_BUTTONPUSH, элемент управления кадром является черно-белой маской (т. е. элементом управления "черный кадр" на белом фоне). В таких случаях приложение должно передать дескриптор элементу управления памятью растрового изображения. Затем приложение может использовать связанное растровое изображение в качестве параметра hbmMask для функции MaskBlt или использовать контекст устройства в качестве параметра функции BitBlt с помощью roPs, таких как SRCAND и SRCINVERT.

Виртуализация DPI

Этот API не участвует в виртуализации DPI. Предоставленные входные данные всегда относятся к физическим пикселям и не связаны с вызывающим контекстом.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-draw-l1-1-2 (представлено в Windows 10 версии 10.0.10240)

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

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

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

RECT