Отправляет email-рассылки с помощью сервиса Sendsay

Delphi. Уроки

  Все выпуски  

Уроки программирования по Delphi.


Информационный Канал Subscribe.Ru


Delphi. Библиотека VCL. Уроки по программированию с сайта http://progs.biz

Рассылка №12

Delphi. VCL. Урок 21. Работа с диалоговыми окнами.
Delphi. VCL. Урок 22. Стандартный диалог для выбора шрифта.

Полные версии уроков (с картинками) можно найти по адресам
Урок 21. Работа с диалоговыми окнами.
Урок 22. Стандартный диалог для выбора шрифта.

Изучаем Delphi. Библиотека VCL. Урок 21. Работа с диалоговыми окнами

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

Создайте новый проект на Delphi, добавьте на форму компонент MainMenu, в редакторе меню добавьте пункт меню Tools и подпункт для него Options. Для меню Options создайте обработчик (подробно все эти действия описаны в уроке 16). Для добавления еще одного окна в программу нажмите на кнопку 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:

...
implementation
uses
  Unit2;

Все! Теперь можно запускать программу и передавать данные из второго диалогового окна в заголовок первого.

Наверх

Изучаем Delphi. Библиотека VCL. Урок 22. Стандартный диалог для выбора шрифта

Начиная с этого урока некоторое время мы посвятим изучению стандартнвх дилоговых окно. В частности, предполагается рассмотреть диалоговые окна для задания шрифта, цвета, открытия и сохранения файлов. Начнем с дилога для выбора шрифта. Он расположен на вкладке Dialogs Палитры Компонентов.

Двойным щелчком расположите его на форме. Разместите на форме также обычную кнопку и label с вкладки Standard. Именно для этого label'а мы и будем задавать разные щрифты. Стандартные значения для наших компонентов можете оставить без изменения - сейчас это не принципиально. Сделайте двойной щелчок на кнопке для создания заготовки кода. В полученную заготовку напишите следующие строки:

procedure TForm1.Button1Click(Sender: TObject);
begin
  //Показываем диалог
  FontDialog1.Execute;
  //Задаем шрифт для label'а
  Label1.Font:=FontDialog1.Font;
end;

Запускаем программу (F9). После запуска мы можем менять шрифт у надписи.

И напоследок еще одна мелочь. Если, скажем, цвет нашего label'а был первоначально красный, то при первом вызове диалогового окна для шрифта будет отмечен не красный цвет, а стандартный.

Для разрешения этой мелкой проблемы просто добавьте следующую строку:

...
begin
  FontDialog1.Font:=Label1.Font;
  //Показываем диалог
  FontDialog1.Execute;
  ...

Теперь все будет нормально.

С диалогом для задания шрифтов все.

Наверх

Copyright Алексеев Игорь, 2002

Copyright сайт progs.biz, 2002


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное