Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

Операционная система Windows 95 для программиста

© Александр Фролов, Григорий Фролов
Том 22, М.: Диалог-МИФИ, 1993, 271 стр.

[Назад] [Содеожание] [Дальше]

2 ОРГАНЫ TOOLBAR И STATUSBAR

Для того чтобы ваше приложение соответствовало современным стандартам и было удобно в работе, к его главному окну желательно добавить такие органы управления, как Toolbar и Statusbar. Из предыдущей главы вы узнали, как они выглядят. Теперь пришло время убедиться в том, что при использовании программного интерфейса Microsoft Windows 95 добавление органов управления Toolbar и Statusbar не является такой сложной задачей, как это было при работе с 16-разрядным API Microsoft Windows версии 3.1.

Из чего "сделаны" новые органы управления?

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

Конкретнее: все, необходимое для создания органов управления в среде Microsoft Windows 95 и Microsoft Windows NT, расположено в библиотеке динамической загрузки COMCTL32.DLL .

Создать орган управления не сложнее, чем создать обыкновенное окно. Более того, для этого можно использовать привычные вам функции CreateWindow или CreateWindowEx, указывая зарезервированные имена классов. Например, Toolbar и Statusbar создаются на базе классов, соответственно, TOOLBARCLASSNAME и STATUSCLASSNAME .

Дополнительно вы можете указывать различные стили окна, определяющие расположение и поведение органов управления.

В программном интерфейсе Win32 имеются специальные функции, облегчающие создание новых органов управления. Например, вы можете создать Toolbar с помощью функции CreateToolbarEx , а Statusbar - с помощью функции CreateStatusWindow .

После того как орган управления будет создан, вы получите его идентификатор. Пользуясь этим идентификатором, вы сможете управлять органом, посылая ему сообщения функцией SendMessage. Например, вы можете добавлять кнопки в Toolbar или удалять их оттуда, блокировать или разблокировать кнопки, отображать текст в одной из областей окна Statusbar и т. д.

Когда приложение создает орган управления, оно сообщает соответствующей функции идентификатор родительского окна (т. е. окна, которое создает орган управления). Когда пользователь работает с органом управления, последний посылает в родительское окно извещения в виде сообщений WM_COMMAND или WM_NOTIFY .

Так как орган Toolbar обычно дублирует самые нужные строки главного меню приложения, сообщения WM_COMMAND, создаваемые этим органом, ничем не отличаются от аналогичных сообщений, поступающих от главного меню приложения. Разумеется, вы сами определяете коды сообщений WM_COMMAND для каждой кнопки органа Toolbar.

Сообщение WM_NOTIFY посылается родительскому окну для извещения о том, что пользователь выполняет какие-либо действия с органом управления, например, добавляет в него новую кнопку либо удаляет ненужную.

Поэтому все, что приложение должно сделать для использования органа управления, - это создать его, вызвав одну из перечисленных ранее функций, и обеспечить обработку нескольких сообщений. А это, согласитесь, совсем не сложно.

[Назад] [Содеожание] [Дальше]