На этом шаге мы закончим изучение основных методов коллекции диалогов.
Метод Show отображает диалог, выполняет заданные в нем действия и возвращает значение, связанное с нажатием кнопок диалога.
Метод Display отображает диалог, но не выполняет заданные в нем действия и возвращает значение, связанное с нажатием кнопок диалога. Возвращаемые значения:
Метод Update вызывается для гарантированной установки значений элементов диалога. Перед вызовом диалога или по окончании вызова мы можем установить значения некоторых визуальных элементов диалога или получить их значения, введенные или измененные пользователем. В качестве примера рассмотрим следующую процедуру и результат ее выполнения. Данный пример можно использовать, когда требуется задать в качестве имени файла определенное значение, отличное от значения по умолчанию.
procedure TForm1.Button3Click(Sender: TObject); //Пример изменения значения элемента диалога до его выполнения const wdDialogFileSaveAs=84; var myDialog:variant; begin myDialog:=W.Dialogs.Item(wdDialogFileSaveAs); myDialog.Name:='Подставляем свое имя файла'; myDialog.Display; end;
Результат выполнения данной процедуры представлен на рисунке 1.
Рис.1. Результат работы приложения
Вот полный текст приложения.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComObj, CheckLst, Spin; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation var W: Variant; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); //Создание объекта Word и его визуализация begin W:=CreateOleObject('Word.Application'); W.Visible:=True; end; procedure TForm1.Button2Click(Sender: TObject); //Открытие файла без отображения диалогового окна const wdDialogFileOpen=80; var MSD:Variant; begin MSD:=W.Dialogs.Item(wdDialogFileOpen); MSD.Name:=InputBox('Введите имя файла','','*.doc'); MSD.Execute; end; procedure TForm1.Button3Click(Sender: TObject); //Пример изменения значения элемента диалога до его выполнения const wdDialogFileSaveAs=84; var myDialog:variant; begin myDialog:=W.Dialogs.Item(wdDialogFileSaveAs); myDialog.Name:='Подставляем свое имя файла'; myDialog.Display; end; end.
Из уже пройденных материалов нетрудно сделать вывод, что при умелом использовании можно с легкостью превратить приложение Word в инструмент для подготовки различных отчетных форм и использовать это в ваших приложениях, разрабатываемых в среде Delphi. Положительной особенностью здесь является тот факт, что при переходе от одной версии MS Word к другой не требуется вносить в разрабатываемые приложения какие-либо изменения, потому что новые версии MS Office поддерживают работу функций, используемых в предыдущих версиях. Для практики программирования панели в приложении Word немного изменим рассмотренный на 99 шаге пример.
На следующем шаге мы рассмотрим пример использования изученного материала.