Принципы работы с элементами управления. Лекция 6
Введение Любое стандартное приложение Windows использует различные элементы управления, такие, как кнопки, полосы просмотра, редакторы текстов и т.д, реализованные в виде дочерних окон. Дочерние окна управления (улементы управления) Так как дочерние окна располагаются на поверхности окна родителя, “прилипая” к ним, приложение может создать в любом своем окне несколько элементов управления, которые будут перемещаться вместе с окном-родителем. Для этого достаточно создать нужные дочерние окна, указав их размеры, расположение и некоторые другие атрибуты. После этого приложение может взаимодействовать с элементами управления, передавая или получая от них различные сообщения. Каждое дочернее окно создается с помощью вызова функции CreateWindow. Оконная процедура родительского окна посылает сообщения дочерним окнам управления, а дочерние окна управления посылают сообщения обратно оконной процедуре. Дочернее окно управления обрабатывает сообщения мыши и клавиатуры и извещает родительское окно о том, что состояние дочернего окна изменилось. В этом случае Дочернее окно становится для родительского окна устройством ввода. Оно инкапсулирует особые действия, связанные с графическим представлением окна на экране, реакцией на пользовательский ввод, и извещения другого окна при вводе важной информации. Введение Стандартные дочерние окна управления имеют вид кнопок, флажков, окон редактирования, списков, комбинированных списков, строк текста и полос прокрутки. Приложение нет необходимости беспокоиться о логике обработки мыши этими окнами, или о логике их отрисовки. Все это делается в Windows, а все, что остается приложению – это обрабатывать сообщение WM_COMMAND, которыми дочерние окна информируют оконную процедуру о различных событиях. Для создания дочернего окна управления собственного класса, во-первых, следует определить класс окна и зарегистрировать его в Windows функцией RegisterClass. Затем с помощью функции CreateWindow необходимо создать окно на основе этого класса. Однако, Если создается одно из предопределенных дочерних окон управления, то для этого дочернего окна класс окна регистрировать не надо. Такой класс уже существует в Windows и имеет одно из следующих имен: “button”, ”edit”, “static”, “listbox”, “combobox” и “scrollbar”. Приложение просто использует одно из этих имен в качестве параметра в функции CreateWindow. Параметр стиля окна функции CreateWindow более точно определяет вид и свойства дочернего окна управления. Windows включает в себя оконные процедуры, обрабатывающие сообщения тех дочерних окон, которые созданы на основе перечисленных классов.