Операционная система Microsoft Windows 3.1 для программиста -том 2


Кнопки, которые рисует родительское окно - часть 2


Приведем назначение отдельных полей структуры DRAWITEMSTRUCT.

Имя поля Описание
CtlType Тип органа управления. Может принимать следующие значения:

ODT_BUTTONODT_BUTTON - кнопка;

ODT_COMBOBOXODT_COMBOBOX - орган COMBOBOX (рассмотрим позже);

ODT_LISTBOXODT_LISTBOX - орган LISTBOX (рассмотрим позже);

ODT_MENUODT_MENU - меню

CtlID Идентификатор органа управления. Не используется для меню
itemID Идентификатор строки для органов COMBOBOX, LISTBOX или меню
itemAction Действия, которые необходимо выполнить при изображении органа управления. Определен в виде отдельных битовых флагов:

ODA_DRAWENTIREODA_DRAWENTIRE - требуется перерисовать весь орган управления;

ODA_FOCUSODA_FOCUS - этот бит устанавливается в 1, если орган управления получил или потерял фокус ввода, новое состояние органа управления можно узнать, проанализировав содержимое поля itemState;

ODA_SELECTODA_SELECT - изменилось состояние органа управления (он стал включенным, выключенным или неактивным), для уточнения состояния необходимо использовать поле itemState

itemState Вид, в котором необходимо изобразить орган управления. Определен в виде отдельных битовых флагов:

ODS_CHECKEDODS_CHECKED - выбрана строка меню (этот бит используется только для меню);

ODS_DISABLEDODS_DISABLED - орган управления неактивен;

ODS_FOCUSODS_FOCUS - орган управления получил фокус ввода;

ODS_GRAYEDODS_GRAYED - строка меню должна быть изображена серым цветом (этот бит используется только для меню);

ODS_SELECTEDODS_SELECTED - орган управления выбран

hwndItem Для кнопок, органов управления COMBOBOX и LISTBOX это поле содержит идентификатор окна. Для меню это поле содержит идентификатор меню
hDC Контекст устройства, который необходимо использовать для рисования органа управления
rcItem Прямоугольные границы органа управления, внутри которого его необходимо нарисовать
itemData Используется только для органов управления COMBOBOX и LISTBOX




Начало  Назад  Вперед