Рассмотрим еще один тип элементов управления в приложении Word —
элементы, собранные в коллекцию Dialogs. У этой коллекции не очень мно-
го свойств. Нас интересуют два из них — количество элементов коллекции
(свойство Count) и набор элементов коллекции Item(i:integer), где i — ин-
декс диалога (диалогового окна) в коллекции. Чтобы ознакомиться со всем
списком и значениями индексов и аргументов диалогов, достаточно обра-
титься к нужной странице справочной системы Word. Здесь мы рассмотрим
только общие принципы вызова диалогов Word из программ, разработанных
в среде Delphi, и несколько примеров использования диалогов. У каждого
диалога есть методы и свойства. Есть общие свойства диалогов и свойства,
присущие каждому отдельному диалогу. Например: свойство type:integer —
тип диалога (это свойство совпадает с индексом диалога в коллекции и есть
у каждого диалога); свойство Name:string — принадлежит диалогу, тип кото-
рого определяется константой wdDialogFileSaveAs, и не может принадлежать
диалогу типа wdDialogConnect. Это нетрудно проверить — достаточно попы-
таться использовать свойство Name для диалога второго типа — сразу воз-
никнет ошибка выполнения. Для каждого диалога есть четыре метода,
предназначенных для запуска или отображения диалогового окна. Рассмот-
рим их.
Метод Execute выполняет действия, связанные с диалогом, но без отобра-
жения самого диалога. Например, вызвав этот метод для диалога
wdDialogFileOpen, можно открыть файл так же, как с помощью метода Open
коллекции Documents. Вот пример процедуры. Открытие файла без отображения диалогового окна
procedure TForml.ButtonllClick(Sender: TObject);
var msdialog:variant;
begin
msdialog:=W.Dialogs.Item(wdDialogFileOpen);
msdialog.Name:=inputbox('Введите имя ф а й л а ' , ' ' , ' * . d o c ' ) ;
msdialog.Execute;
end;
Метод Show отображает диалог, выполняет заданные в нем действия и воз-
вращает значение, связанное с нажатием кнопок диалога.
Метод Display отображает диалог, но не выполняет заданные в нем действия
и возвращает значение, связанное с нажатием кнопок диалога. Возвращае-
мые значения: —2 — была нажата кнопка Закрыть; — I — была нажата кноп-
ка ОК; 0 — была нажата кнопка Пропустить; > 0 — была нажата кнопка 1,
2... диалога.
Метод Update вызывается для гарантированной установки значений элемен-
тов диалога. Перед вызовом диалога или по окончании вызова мы можем
установить значения некоторых визуальных элементов диалога или полу-
чить их значения, введенные или измененные пользователем. В качестве
примера рассмотрим следующую процедуру и результат ее выполнения.
Данный пример можно использовать, когда требуется задать в качестве
имени файла определенное значение, отличное от значения по умолчанию. Пример изменения значения элемента диалога до его выполнения
procedure TForml.Buttonl5Click(Sender: TObject);
var myDialog_:variant;
begin
myDialog_:=W.Dialogs.Item(wdDialogFileSaveAs);
myDialog_.Name:='Подставляем свое имя файла';
myDialog_.Display;
end;
Результат выполнения данной процедуры представлен на рис. 10.20.
Из уже пройденных материалов нетрудно сделать вывод, что при умелом
использовании можно с легкостью превратить приложение Word в инстру-
мент для подготовки различных отчетных форм и использовать это в ваших
приложениях, разрабатываемых в среде Delphi. Положительной особен-
ностью здесь является тот факт, что при переходе от одной версии MS Word
к другой не требуется вносить в разрабатываемые приложения какие-либо
изменения, потому что новые версии MS Office поддерживают работу функ-
ций, используемых в предыдущих версиях. Для практики программирования
панели в приложении Word немного изменим рассмотренный ранее пример.
Рис. 10.20. Управление диалоговым окном
Опубликовал Kest
September 26 2009 20:41:42 ·
0 Комментариев ·
8221 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.