Взаимодействие между элементами управления

Можно создавать свои собственные дочерние окна управления, но есть также возможность использовать преимущества нескольких уже определенных классов окна (и оконных процедур), с помощью которых ваша программа может создавать стандартные дочерние окна управления, которые вы, несомненно, уже наблюдали в других программах для Windows. Такие дочерние окна имеют вид кнопок (buttons), флажков (check boxes), окон редактирования (edit boxes), списков (list boxes), комбинированных списков (combo boxes), строк текста (text strings) и полос прокрутки (scroll bars).

Дочерние окна управления наиболее часто используются в окнах диалога. Положение и размер дочерних окон управления определяются в шаблоне окон диалога, который хранится в описании ресурсов программы. Вы также можете пользоваться предопределенными дочерними окнами управления на поверхности рабочей области обычного окна. Каждое дочернее окно создается с помощью вызова функции CreateWindow, где с помощью функции MoveWindow задается его положение и размер.

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

Для создания обычного окна приложения, во-первых, определите класс окна и зарегистрируйте его в Windows с помощью функции RegisterClassEx. Затем с помощью функции CreateWindow создайте окно на основе этого класса. Однако, если вы используете одно из предопределенных дочерних окон управления, то для этого дочернего окна класс окна регистрировать не надо. Такой класс уже существует в Windows и имеет одно из следующих имен: "button" (кнопка), "static" (статическое), "scrollbar" (полоса прокрутки), "edit" (окно редактирования), "listbox" (окно списка) или "combobox" (окно комбинированного списка). Вы просто используете имя в качестве параметра класса окна в функции CreateWindow. Параметр стиля окна функции CreateWindow более точно определяет вид и свойства дочернего окна управления. Windows включает в себя оконные процедуры, обрабатывающие сообщения тех дочерних окон, которые созданы на основе перечисленных классов.

Когда вы щелкаете мышью на дочернем окне управления, оно посылает сообщение WM_COMMAND своему родительскому окну. Программа обрабатывает сообщение WM_COMMAND которое содержит 2 параметра wParam и lParam. Здесь приведен их смысл:

LOWORD (wParam) Идентификатор дочернего окна

HIWORD (wParam) Код уведомления

lParam Описатель дочернего окна

Идентификатор дочернего окна — это значение, передаваемое функции CreateWindow, когда создается дочернее окно.

Описатель дочернего окна — это значение, которое Windows возвращает при вызове функции CreateWindow.

Код уведомления — это дополнительный код, который дочернее окно использует для того, чтобы сообщитьродительскому окну более точные сведения о сообщении.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: