Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод2курс_прогр_конт.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.38 Mб
Скачать

4.Характеристики формы. События

При создании и использовании формы происходят следующие события типа TNotifyEvent, указанные в порядке их возникновения:

  • OnCreate;

  • OnActivate;

  • OnShow;

  • OnPaint.

  • OnResize;

  • onKeyPress( реакция на нажатие клавиш).

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

Пример. Процедура Обработки события OnCreate формы Form2.

procedure TForm2.FormCreate(Sender :TObject);

begin

Form2.Caption := 'Пример формы';

ComboBox2.Items.LoadFromFile('list.txt');

Button3.Enabled := false;

end;

При создании форма получает новый заголовок пример формы, в комбинированный список comboBox2 загружаются данные из файла list.txt, а кнопка Button3 блокируется.

В момент отображения формы на экране возникает событие OnShow.

Соответственно при скрытии формы, возникает событие OnHide. Каждый раз при получении фокуса ввода формой, например, при нажатии кнопки мыши в области формы, происходит ее активизация и возникает событие OnActivate. При потере фокуса формой возникает событие OnDeActivate.

Событие OnPaint возникает при необходимости перерисовки формы, например, при активизации формы, если до этого часть ее была закрыта другими окнами.

При закрытии и уничтожении формы происходят следующие события, указанные в порядке их возникновения:

OnCloseQuery;

OnClose;

OnDeActivate;

OnHide;

OnDestroy.

Событие OnCloseQuery типа TCioseQueryEvent возникает в ответ на попытку закрытия формы. Обработчик события получает логическую переменную - признак CanClose, определяющую, может ли быть закрыта данная форма.

По умолчанию эта переменная имеет значение True, и форму можо закрыть.

Если установить параметру CanClose значение False, то форма остается открытой.

5.Взаимодействие форм.

При попытке компилирования программы, содержащей вызов второй формы, Delphi выдаст такой запрос:

Форма Form1 содержит вызов формы Form2, которая объявлена в модуле Unit2, но который отсутствует в списке используемых модулей. Вы хотите добавить его?

Нужно разрешить, и в начале модуля перед директивой {$R *.dfm} будет добавлена фраза -

uses Unit2;

6.Шаблоны форм.

Репозиторий специализированных форм (File | New | other ):

  • About box - окно 0 программе.

  • Password Dialog - Диалоговое окно для ввода паролей

  • Standard Dialog - Заготовка для диалогового окна

  • Dialog Wizard - Мастер создания диалоговых окон

  • и др.

Лекции № 14-15. Главное и контекстное меню. Пункты меню, их свойства. Конструктор меню, настройка меню. Комбинации клавиш.