Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по Delphi.doc
Скачиваний:
143
Добавлен:
10.04.2015
Размер:
262.66 Кб
Скачать

Добавление к проекту диалогового окна «о программе»

Прежде чем создавать обработчик нажатия кнопки «О программе», необходимо создать само диалоговое окно «О программе». Для этого можно разработать новую форму «с нуля», но проще воспользоваться имеющимся в Delphi шаблоном.

  1. Добавим в наше приложение диалоговое окно «О программе»:

  • Выберите из меню команду File | New | Other…, в открывшемся диалоговом окне перейдите на вкладкуForms, выберите элементAboutBoxи нажмитеOK. В результате к нашему проекту добавляется новая форма с именемAboutBox и соответствующей ей модуль с именемUnit2.

  1. Установим нужные свойства у элементов формы:

  • Выберите форму, найдите в Инспекторе объектов свойствоCaption и введите“Опрограмме” вместоAbout.

  • Выберите картинку (объект ProgramIcon), найдите свойствоPicture, нажмите на кнопку[…], в появившемся диалоговом окне Picture Editor нажмите кнопкуLoad и выберите какое-нибудь подходящее графическое изображение для вашей программы (например, можно воспользоваться стандартными картинками, поставляемыми сDelphi, которые по умолчанию находятся в папкеC:\Program Files\Common Files\Borland Shared\Images\Splash\256Color) и нажмите кнопкуOK.

  • Измените названия всех меток так, чтобы они содержали осмысленные надписи на русском языке. Используйте различные шрифты(свойствоFont) для придания тексту большей выразительности. В результате у вас должно получиться форма примерно следующего вида:

  1. Сохраним сделанные изменения в проекте:

  • Нажмите кнопку Save All и сохраните модульUnit2 в папке, где находятся другие файлы вашего проекта.

Создание обработчика для кнопки «о программе»

  • Переключитесь на главную форму приложения. Если она видна, вы можете щелкнуть мышью по главной форме или же нажать кнопку View Forms (Shift + F12) и выбрать из списка формуForm1.

  • Выберите из меню команду File | Use Unit…,в появившемся окне выберитеUnit2 и нажмитеOK. Это делается для того, чтобы добавить к исходному тексту модуляUnit1 строчку“uses Unit2”, которая говорит компилятору, что все переменные, объявленные в секцииinterface модуляUnit2 (в частности, переменная формыAboutBox), видны и доступны из модуляUnit1.

  • Создайте обработчик для кнопки «О программе», дважды щелкнув по этой кнопке на форме. Delphi сгенерирует заготовку для обработчика события с именемButton4Click.

  • Напишите единственную строчку, которая осуществляет вызов диалогового окна «О программе»:

procedureTForm1.Button4Click(Sender: Tobject);

begin

AboutBox.ShowModal;

end;

Здесь мы обращаемся к функции ShowModal, определенной для класса TForm, которая приводит к отображению соответствующей формы в модальном режиме (модальный режим обозначает, что пока окно не будет закрыто, переключиться на любое другое окно приложения будет невозможно). ПеременнаяAboutBox из модуля Unit2 доступна в модулеUnit1, потому что ранее мы добавили в него строчку“uses Unit2”.

  • Запустите программу на выполнение и убедитесь, что обработчик кнопки «О программе» работает правильно.

Давайте разберемся, почему диалоговое окно «О программе» закрывается при нажатии кнопкиOK, – ведь мы не писали никакого обработчика для этой кнопки! Переключитесь на формуAboutBox, выберите кнопку OK и найдите у нее свойствоModalResult. Вы увидите, что оно установлено в значениеmrOk, а неmrNone (значение по умолчанию). Дело в том, что если окно у нас модальное (открывается функциейShowModal) и у кнопки установлено значение, отличное отmrNone, то при нажатии на эту кнопку окно закрывается автоматически. Более того, функцияShowModal возвращает значениесвойстваModalResultтой кнопки, при нажатию на которую было закрыто окно, и это значение можно проверить в программе.