BorlanD Russian Сommunity

На этом уроке изучим работу с диалоговыми окнами. Скорей всего в вашем приложении будет не одно диалоговое окно. Давайте посмотрим, как добавить в программу еще одно диалоговое окно, которое будет появляться при выборе соответствующего пункта меню. В появившемся диалоговом окне мы зададим некоторые параметры, которые передадутся затем в главное окно нашего приложения.

Создайте новый проект на Delphi, добавьте на форму компонент MainMenu, в редакторе меню добавьте пункт меню Tools и подпункт для него Options. Для меню Options создайте обработчик. Для добавления еще одного окна в программу нажмите на кнопку New Form на панели инструментов View (четвертая кнопка слева). Появится форма с именем Form2 по умолчанию.

Теперь добавьте в новую форму edit и две кнопки и задайте для кнопок надписи OK и Cancel.

 

В обработчики для этих кнопок добавьте следующий код:

procedure TForm2.Button1Click(Sender: TObject);

begin

            Close;

            ModalResult:=mrOK;

end;

 

procedure TForm2.Button2Click(Sender: TObject);

begin

            Close;

            ModalResult:=mrCancel;

end;

 

Код тут достаточно прозрачен - Close закрывает форму, а в ModalResult записывается результат (mrOK для кнопки OK и mrCancel для кнопки Cancel). Теперь возвращаемся к коду основной формы.

 

Пишем для обработчика нашего меню следующий код:

 

procedure TForm1.Options1Click(Sender: TObject);

var

            res : TModalResult;

begin

            res := Form2.ShowModal;

            if res=mrOK then //Если нажата кнопка OK

            Form1.Caption:=Form2.Edit1.Text;

end;

 

Смысл этого кода следующий: переменная res служит для сохранения результата выполнения второго диалога (т. е. нажал ли пользователь OK или Cancel). И если пользователь нажал OK, то введенную пользователем строку мы показываем в заголовке нашего основного окна. Теперь остается еще одна проблема. Дело в том, что мы в нашем основном окне (Form1) используем Form2. Но Form2 пока не видна. Для исправления этого добавьте в код Form1 ссылку на Form2. Теперь можно запускать программу и передавать данные из второго диалогового окна в заголовок первого.

Всё на этом урок закончен.

Просмотров: 3327 | Категория: Delphi 7 | Дата: 11.05.2008