На этом шаге мы закончим изучение основных методов коллекции диалогов.
Метод Show отображает диалог, выполняет заданные в нем действия и возвращает значение, связанное с
нажатием кнопок диалога.
Метод Display отображает диалог, но не выполняет заданные в нем действия и возвращает значение,
связанное с нажатием кнопок диалога. Возвращаемые значения:
- -2 - была нажата кнопка Закрыть;
- -1 - была нажата кнопка ОК;
- 0 - была нажата кнопка Пропустить;
- > 0 - была нажата кнопка 1, 2... диалога.
Метод 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.
Текст этого приложения можно взять 99 шаге пример.
На следующем шаге мы рассмотрим пример использования изученного материала.