Уроки Iczelion'а



         

Урок 9. Дочерние окна


В этом туториале мы изучим дочерние элементы управления (child window controls), которые являются важными частями ввода и вывода нашей программы.

Скачайте пример здесь.

Теория:

Windows предоставляет несколько предопределенных классов окон, которые мы можем сразу же использовать в своих программах. Как правило, мы будем использовать их как компоненты dialog box'ов, поэтому они носят название дочерних элементов управления. Эти элементы обрабатывают сообщения от клавиатуры и мыши и уведомляют родительское окно, если их состояние изменяется. Они снимают с программистов огромный груз, поэтому вам следует использовать их так часто, как это возможно. В этом туториале, я положу их на обычное окно, только для того, чтобы продемонстрировать как их можно создать и использовать, но в реальности вам лучше класть их на dialog box.

Примерами продопределенных классов окон являются кнопки, списки, сheckbox'ы, pадиокнопки и т.д.

Чтобы использовать дочернее окно, вы должны создать его с помощью функции CreateWindow или CreateWindowEx. Заметьте, что вы не должны регистрировать класс окна, так как он уже был зарегистрирован Windows. Имя класса окна должно быть именем предопределенного класса. Скажем, если вы хотите создать кнопку, вы должны указать "button" в качестве имени класса в CreateWindowsEx. Другие параметры, которые вы должны указать - это хэндл родительского окна и ID контрола. ID контрола должно быть уникальным. Вы используете его для того, чтобы отличать данный контрол от других.

После того, как контрол был создан, он посылает сообщение, уведомляющие pодительское окно об изменении своего состояния. Обычно вы создаете дочернее окно во время обработки сообщения WM_CREATE главного окна. Дочернее окно посылает сообщение WM_COMMAND родительскому окну со своим ID в нижнем слове WParam'а, код уведомления в верхнем слове wParam'а, а ее хэндл в lParam'е. Каждое окно имеет pазные коды уведомления, сверьтесь с вашим справочником по Win32 API, чтобы получить подробную информацию.




Содержание  Назад  Вперед