Форма – главный компонент приложения. Формы представляют собой видимые окна Windows и являются основной частью практически любого приложения.

Презентация:



Advertisements
Похожие презентации
Создание приложения MDI. Термин MDI (Multiple Document Interface) дословно означает многодокументный интерфейс и описывает приложения, способные загрузить.
Advertisements

Практические работы в Pascal ABC
Урок Delphi 1. Запуск Delphi. Для этого нужно создать ярлык на рабочем столе, или обратиться по адресу Program Files - Borland - Delphi - Bin и отыскать.
МУНИЦИПАЛЬНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА 25 Выполнила: учитель информатики Турганова Н.В. Томск
Стандартные диалоговые окна. На странице Dialogs Палитры компонентов: OpenDialog (выбор открываемого файла) SaveDialog (выбор сохраняемого файла) OpenPictureDialog.
Презентация Delphi
Основные свойства объектов Объектами называются форма и элементы управления, переносимые с панели элементов на форму. Внешний вид, форму, размеры, положение.
Объектно-ориентированное программирование Основы языка программирования Lazarus.
Лекция 2 Delphi. Палитра компонентов Окно редактора кода Окно конструктора формы Окно инспектора объектов.
Объектно-ориентированный язык программирования. Выберите в реальной жизни любой объект (холодильник, магнитофон, машина) и опишите его свойства, методы,
Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
ФАКУЛЬТАТИВ №002. ФОРМА И ЕЁ СВОЙСТВА Урок 2.
Тема 5. Введение в среду визуального программирования Borland Delphi 7.0.
Процедуры и функции, реализующие диалоговые окна.
Невизуальные компоненты: Main Menu, Popup Menu.. Невизуальные компоненты: MainMenu, PopupMenu, Timer, стандартные диалоги и.т.д не отоброжается на форме.
Проект «Перевод» Проект «Перевод» Создадим проект, в котором будем динамически менять свойства компонентов, а также посмотрим последовательность.
Учитель информатики Трашков О.Л.. Окно обычно содержит следующие элементы: Строка заголовка Строка меню Панель инструментов Адресная строка Рабочая область.
Под словом объект в Windows понимают почти все, с чем работает операционная система. Каждый объект Windows имеет уникальный набор свойств. Слово уникальный.
Организация меню и панели инструментов. Работа с меню Меню – распространенный элемент пользовательского интерфейса Меню – список объединенных по функциональному.
Элементы окна. Виды окон. Виды меню. Сохранение файлов. суббота, 16 ноября 2013 г.
Транксрипт:

Форма – главный компонент приложения

Формы представляют собой видимые окна Windows и являются основной частью практически любого приложения

Для работы с формой предназначен компонент Form класса TForm Форма является компонентом, который служит контейнером для всех других компонентов Приложение может иметь несколько форм, одна из которых считается главной и при запуске программы отображается первой

При закрытии главного окна (формы) приложения прекращается работа всего приложения Delphi по умолчанию делает главной первую форму (Form1)

В файле проекта (.dpr) эта форма создается первой: Application.Initialize; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.Run;

Программно можно сделать главной любую форму приложения: Application.Initialize; Application.CreateForm(TForm2, Form2); Application.CreateForm(TForm1, Form1); Application.Run;

Удобно указать главную форму: в окне параметров проекта Project\Options в списке Main Form на странице Form При этом соответствующие изменения автоматически вносятся в файл проекта

Типичная форма содержит: область заголовка строку меню строку состояния полосы прокрутки клиентскую область (в ней можно размещать элементы управления, выводить текст, графику, манипулировать дочерними окнами)

Форма может быть: Модальной (требует обязательного закрытия перед обращением к любой другой форме приложения) Немодальной (позволяет без ее закрытия переключиться в другую форму приложения)

Характеристики формы

При создании и использовании формы генерируются события: OnCreate OnShow OnResize OnActivate OnPaint

Событие OnCreate генерируется только один раз – при создании формы, остальные события происходят при каждом отображении, активизации и каждой прорисовке формы соответственно

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

Например: Procedure TForm2.FormCreate (Sender :TObject); Begin Form2.Caption:=Пример формы; Edit1.SetFocus; ComboBox2.Items.LoadFromFile(list.txt); Button3.Enabled:=False; End;

Если формы создаются вручную, то их отображение и скрытие в процессе работы приложения регулируется через свойство Visible Например: Form2.Visible:=True; Form2.Visible:=False;

Управлять видимостью форм на экране можно также с помощью методов Show и Hide Процедура Show отображает форму в немодальном режиме, при этом свойство Visible устанавливается в значение True, а сама форма переводится на передний план Процедура Hide скрывает форму, устанавливая ее свойство Visible в значение False Если окно видимо, то метод Show переводит форму на передний план и передает ей фокус ввода

Например: Form3.Show Form3.Hide;

В момент отображения формы на экране возникает событие OnShow, при скрытии формы возбуждается событие OnHide При получении формой фокуса ввода (например, при нажатии кнопки мыши в области формы) происходит ее активизация, и возникает событие OnActivate, а при потере фокуса – событие OnDeActivate

Событие OnPaint генерируется при необходимости перерисовки формы (например, при активизации формы, если до этого часть ее была закрыта другими окнами) Для закрытия формы используется метод Close, который удаляет ее с экрана. При закрытии главной формы прекращается работа всего приложения

Процедура Close не уничтожает созданный экземпляр формы, и форма может быть вызвана на экран с помощью методов Show или ShowModal Уничтожение формы происходит с помощью методов Release, Free или Destroy, после чего работа с этой формой становится невозможна, и любая попытка обратиться к ней или ее компонентам вызовет ошибку

При закрытии и уничтожении формы генерируются следующие события по порядку: OnCloseQuery OnClose OnDeActivate OnHide OnDestroy

Событие OnCloseQuery возникает в ответ на попытку закрытия формы. Обработчик события получает логическую переменную-признак CanClose, определяющую, может ли быть закрыта данная форма (по умолчанию True). Если установить параметр CanClose в значение False, то форма остается открытой. (Такую возможность стоит использовать для подтверждения закрытия окна или проверки, сохранена ли информация на диске)

Например: procedure TForm2.Button3Click(Sender: TObject); begin Form3.close; end; procedure TForm3.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin CanClose:=MessageDlg('Закрыть форму?', mtConfirmation,[mbYes,mbNo],0)=mrYes; end;

Событие OnClose возникает непосредственно перед закрытием формы Обычно оно используется для изменения стандартного поведения формы при закрытии

Для этого обработчику события передается переменная Action, которая может принимать следующие значения: caNone (форму закрыть нельзя) caHide (форма делается невидимой) caFree (форма уничтожается, а связанная с ней память освобождается) caMinimize (окно формы сворачивается)

При закрытии окна методом Close переменная Action по умолчанию получает значение caHide, и форма делается невидимой. При уничтожении формы методом Destroy переменная Action по умолчанию получает значение caFree и форма уничтожается

Событие OnClose возникает при закрытии формы щелчком мыши на кнопке закрытия или при вызове метода Close

Например: procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction); begin if Memo1.Modified then Action:=caNone else Action:=caHide; end; {Если информация в Memo1 была изменена, то форма не закрывается.}

Событие OnDestroy возникает непосредственно перед уничтожением формы и обычно используется для освобождения ресурсов

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

Например : procedure TForm3.FormResize(Sender: TObject); begin //Установка размеров и положения сетки строк StringGrid1.Left:=10; StringGrid1.Top:=5; StringGrid1.Width:=Form3.ClientWidth-20; StringGrid1.Height:=Form3.ClientHeight-15-Button1.Height; //Установка положения кнопки Button1.Left:=Form3.ClientWidth-10-Button1.Width; Button1.Top:=Form3.ClientHeight-5-Button1.Height; end;

Стиль формы определяется свойством FormStyle fsNormal (стандартный стиль) fsMDIChild (дочерняя форма в многодокументном приложении) fsMDIForm (родительская форма в многодокументном приложении) fsStayOnTop (форма, которая после запуска всегда отображается поверх других окон)

Свойство BorderStyle: bsDialog (диалоговая форма) bsSingle (неизменяемые размеры) bsNone (нет видимой рамки и заголовка) bsSizeable (обычная форма) bsToolWindow (форма панели инструментов) bsSizeToolWin (форма панели инструментов с изменяемыми размерами)

Программно при выполнении приложения для формы любого стиля можно устанавливать любые допустимые размеры окна и изменять их Например: Form2.Width:=Form2.Width+100;

В области заголовка могут отображаться 4 вида кнопок. Реализуемый набор кнопок определяет свойство BorderIcons Форма включает в себя клиентскую и неклиентскую области. Размеры клиентской части формы задают свойства ClientWidth и ClientHeight (в пикселах)

Способ перемещения формы при помещении указателя на клиентскую область type TForm2 = class(TForm) procedure MoveForm(var Msg:TMessage); message WM_NCHitTest; procedure TForm2.MoveForm(var Msg:TMessage); begin inherited; if Msg.Result=1 then Msg.Result:=2; end;

Размещение и размер формы определяет свойство Position: poDesigned (в той позиции и с теми размерами, которые установлены при ее конструировании) poScreenCenter (в центре экрана, размеры не изменяются) poDefault (Windows автоматически определяет позицию и размеры окна) poMainFormCenter (выводится в центре главной формы приложения)

Свойство WindowState: wsNormal (обычное состояние) wsMinimized (свернута) wsMaximized (развернута)

Свойство ActiveControl определяет, какой элемент формы находится в фокусе Например: Form1.ActiveControl:=Edit2; Edit2.SetFocus;

Свойство KeyPreview типа Boolean определяет, будет ли форма обрабатывать события клавиатуры, прежде чем их обработают элементы управления формы