Основы офисного программирования и документы Word


Создание интерфейса документа. Объект CommandBars


Создание интерфейса документа - одна из важных задач, стоящих при разработке практически любых документов. Создание меню, командных кнопок и других элементов управления, вынесенных на инструментальные панели или встроенных непосредственно в документ, создание диалоговых окон (форм) - все эти задачи успешно решены еще в предыдущих версиях Office, и потому в Office 2000 немногое изменилось в этой области.

В Office команды меню и командные кнопки располагаются на инструментальных панелях, которые составляют коллекцию CommandBars. Эти панели могут быть причалены или пристыкованы (docked) к левому, правому, верхнему или нижнему краю документа, а могут находиться и в плавающем состоянии. Каждая панель (объект CommandBar) содержит набор меню или командных кнопок - коллекцию CommandBarControls. Элементы этой коллекции (объекты CommandBarControl) в зависимости от их типа представляют отдельные меню, команды меню или командные кнопки. В Office 2000 имеется большое число встроенных панелей со встроенными элементами. Но одно из достоинств Office состоит в том, что весь этот интерфейс является настраиваемым - любую из панелей, также как и любой из элементов, расположенных на панели, можно отключить или включить в любую минуту, можно изменять элементы, показываемые на панелях. В Office 2000 это может делаться автоматически, на основе "интеллектуальных" соображений, - отключаются те команды, которые давно не использовались. Самое главное, что наряду со встроенными панелями и командами можно создавать собственные панели и команды. Это позволяет полностью отказаться от стандартного интерфейса, создав свой собственный интерфейс документа. Чаще всего, в документе используется комбинация собственных и встроенных элементов интерфейса.

Большая часть задач по созданию собственных инструментальных панелей и элементов, располагаемых на них, обычно решается вручную без использования программирования, хотя понятно, что невозможно обойтись без написания макросов, вызываемых в ответ на нажатие командных кнопок или выбор команд меню, созданных собственноручно. Но почти все эти задачи (к сожалению, есть некоторые исключения) можно решать и программно, чем мы сейчас и займемся.



Содержание раздела