На этом шаге мы рассмотрим элементы управления.
Элементы управления - это специализированные дочерние окна. Главным образом они используются внутри диалоговых окон для выполнения операций ввода/вывода но их также можно создать и в обычных окнах. Вы не можете рисовать в элементах управления (если не определен тип ownerdrawing). Элементы управления не имеют собственных обработчиков событий. События от элементов управления вызывают отправление уведомительных сообщений обработчику событий родительского окна. Предопределенные классы элементов управления перечислены в таблице 1.
Тип элемента управления | Класс окна |
---|---|
Командная кнопка | wc_PushButton |
Переключатель | wc_RadioButton |
Флажок | wc_CheckBox |
Горизонтальная полоса прокрутки | wc_Hscroll |
Вертикальная полоса прокрутки | wc_Vscroll |
Поле редактирования | wc_Edit |
Статический текст | wc_Text |
Список | wc_Lbox |
Раскрывающийся список | wc_LboxButton |
Редактируемый список | wc_LboxEdit |
Элемент группировки | wc_GroupBox |
Пиктограмма | wc_Icon |
Поскольку элементы управления являются окнами, приложение может управлять ими, используя функции управления окнами. Оконный дескриптор для элемента управления всегда может быть получен по родительскому окну и идентификатору ресурса элемента управления:
CtrlHndl=win_GetCtlHandle(ParentWindow,CtrlId)
В таблице 2 приведены часто используемые предикаты для работы с элементами.
Операция | Предикат |
---|---|
Создание | win_CreateControl win_CreateDynControl |
Уничтожение | win_Destroy |
Размер/положение | win_GetOuterRect win_Move win_GetClientRectl |
Заголовок/метка/текст | win_GetText win_SetText |
Показать, скрыть, включить, блокировать | win_GetState win_SetState |
Фокус | win_GetFocus win_SetFocus |
Иерархия окон | win_GetParent |
Тип окон | win_GetType |
На следующем шаге мы рассмотрим флаги стиля.