Операционная система Windows 95 для программиста
Для того чтобы ваше приложение соответствовало современным стандартам и было удобно в работе, к его главному окну желательно добавить такие органы управления, как 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 посылается родительскому окну для извещения о том, что пользователь выполняет какие-либо действия с органом управления, например, добавляет в него новую кнопку либо удаляет ненужную.
Поэтому все, что приложение должно сделать для использования органа управления, - это создать его, вызвав одну из перечисленных ранее функций, и обеспечить обработку нескольких сообщений. А это, согласитесь, совсем не сложно.
Орган управления ToolbarОрган управления Statusbar
Приложение Smart Application
Содержание раздела