Тема 5 Перемещение и изменение размеров окон и

advertisement
Тема 5.
Перемещение и изменение
размеров окон и компонентов.
Многооконные приложения
Изменение положения и размеров окон и компонентов.
Разновидности форм.
Заготовки форм.
Создание и использование форм.
Создание многооконных приложений.
Изменение
положения и размеров
окон и компонентов
начало
Положение окна формы на экране и ее размеры определяются
значениями следующих ее свойств:
Top (расстояние в пикселях от верхнего края экрана до верхнего
края формы);
Left (расстояние в пикселях от левого края экрана до левого края
формы);
Position (определяет размер и положение окна – если, например,
значение свойства равно poScreenCenter или
poDesktopCenter, то окно будет находиться в центре
экрана);
Height (высота формы в пикселях);
Width (ширина формы в пикселях).
Изменение
положения и размеров
окон и компонентов
продолжение
При создании приложений, при выполнении изменяются
размеры и положение на экране окна приложения, в процедурах
обработки событий должны находиться операторы, изменяющие
значения таких, например, свойств формы, как Height, Width,
Top, Left, Position и других.
Примеры записи операторов, изменяющих значения свойств
формы:
Form1.Height:=Form1.Height div 2; //Уменьшение высоты формы
// в 2 раза
Form1.Top:=10; //Перед названием свойства указано имя формы
Left:=20; //Перед названием свойства
//можно не указывать имя главной формы
Изменение
положения и размеров
окон и компонентов
продолжение
Значения свойств Top и Left определяют, соответственно,
расстояние в пикселях от верхнего края экрана до верхнего
края формы и от левого края экрана до левого края
формы, или, иначе говоря, определяют положение на экране
левого верхнего угла формы. При изменении положения на
экране окна приложения можно рассматривать это окно как
прямоугольник, изменяющий свое положение внутри
прямоугольника большего размера (экрана). При этом
высота и ширина экрана (рассматриваемого как компонент
с именем Screen) определяются, соответственно, значениями
его свойств Screen.Height и Screen.Width.
Изменение
положения и размеров
окон и компонентов
продолжение
Примеры операторов, при выполнении которых окно
приложения оказывается расположенным в углах экрана
вплотную к его краям или в центре экрана:
Top:=0; Left:=0;
//Окно слева вверху
Top:=0; Left:=Screen.Width-Width; //Окно справа вверху
//Width – ширина окна приложения
Top:=Screen.Height-Height; Left:=Screen.Width-Width;
//Окно справа внизу
//Height – высота, Width – ширина окна приложения
Top:=Screen.Height-Height; Left:=0; //Окно слева внизу
Position:=poScreenCenter;
//Окно в центре экрана
Изменение
положения и размеров
окон и компонентов
продолжение
Положение компонента в клиентской части формы и
размеры компонента определяются значениями
следующих его свойств:
Top (расстояние в пикселях от верхнего края клиентской
части формы до верхнего края компонента);
Left (расстояние в пикселях от левого края клиентской
части формы до левого края компонента);
Height (высота компонента в пикселях);
Width (ширина ширина в пикселях).
Изменение
положения и размеров
окон и компонентов
продолжение
Значения свойств Top и Left определяют, соответственно,
расстояние в пикселях от верхнего края клиентской области
формы до верхнего края компонента и от левого края
клиентской области формы до левого края компонента,
или, иначе говоря, определяют положение в клиентской
области формы левого верхнего угла компонента. При
изменении положения компонента его можно рассматривать
как прямоугольник, изменяющий свое положение внутри
прямоугольника большего размера (клиентской области
формы). При этом высота и ширина клиентской области
формы определяются, соответственно, значениями ее свойств
ClientHeight и ClientWidth.
Изменение
положения и размеров
окон и компонентов
окончание
Примеры операторов, при выполнении которых кнопка типа
Button оказывается расположенной в углах клиентской части
формы вплотную к краям этой части или в центре клиентской
части формы :
Button1.Top:=0; Button1.Left:=0;
//Кнопка слева вверху
Button1.Top:=ClientHeight-Button1.Height; //Кнопка
Button1. Left:=ClientWidth-Button1.Width; //справа внизу
Button1.Top:=ClientHeight div 2-Button1.Height div 2; //Кнопка
Button1.Left:=ClientWidth div 2-Button1.Width div 2; //в центре
Разновидности форм
Разновидности форм определяются значением
их свойства FormStyle и, кроме того, наличием
форм-заготовок в хранилище объектов Delphi.
Значение fsNormal свойства FormStyle
определяет обычную форму, которая может быть
использована для самых разных целей, в том числе
и для управления многооконным приложением
(главная форма).
Другие значения свойства FormStyle могут быть
использованы для реализации различных условий
взаимодействия окон в многооконных
приложениях.
Заготовки форм
В хранилище объектов Delphi находится много формзаготовок, предназначенных для решения конкретных
задач. Доступ к хранилищу можно получить, выполнив
команды меню File => New => Other….
Создание и использование
форм
начало
Для подключения обычной новой формы к
проекту достаточно выполнить команды меню
File => New => Form
или можно получить доступ к хранилищу объектов
Delphi (File => New => Other…) и выбрать форму
требуемой разновидности.
Самая первая форма проекта со стандартным
именем Form1 автоматически становится главным
окном программы. Окно именно этой формы
автоматически появляется на экране в момент
начала работы программы.
Создание и использование
форм
окончание
При необходимости
можно указать любую
форму, окно которой
станет главным.
Для этого нужно
выполнить
команды меню
Project => Options …
и затем
в открывшемся окне
на вкладке Form в списке
Main form выбрать
нужную форму.
Создание
многооконных приложений
Современные многооконные приложения чаще
всего строятся в стиле SDI (Single Document
Interfaсe), который не накладывает ограничений на
положение и размеры вспомогательных форм,
каждая из которых при необходимости может
иметь свое главное меню.
В этом случае для свойства FormStyle
используется значение fsNormal.
Download