24.1. Форма и ее свойства
Форма является основным строительным компонентом любой программы. Каждое приложение имеет хотя бы одну форму – главное окно программы. Программа может состоять из произвольного числа форм, которые появляются на экране по мере необходимости. Рассмотрим основные свойства формы:
• Property FormStyle:TFormStyle; – стиль формы. Стиль может принимать следующие значения:
fsNormal – обычная форма;
fsMDIForm – главная форма многодокументального интерфейса;
fsMDIChild – дочерняя форма многодокументального интерфейса. Для многодокументного интерфейса (Multi Document Interface – MDI) характерно то, что дочерние формы могут создаваться только в границах основной MDI формы;
fsStayOnTop – форма, перекрывающая все остальные формы. Такая форма всегда будет находиться поверх других форм и может быть только одна. Таким значением формы следует пользоваться очень осторожно, так как она может просто «мозолить» глаза;
• Property BorderIcons:TBorderIcons; – множество, определяющее наличие значков в заглавии окна. Возможны следующие значения элементов множества:
biSystemMenu – значек вызова системного меню, обычно – «закрыть окно»,
biMinimize – значек свертывания формы,
biMaximize – значек развертывания формы,
biHelp – значек вызова справочной службы;
• Property BorderStyle:TFormBorderStyle; – стиль границы формы. Возможны следующие варианты:
bsNone – форма не имеет рамки и заголовка и не может перемещаться или изменять свои размеры,
bsSingle – форма с рамкой в один пиксель, она не может менять свои размеры,
bsSizeable – форма с обычной рамкой,
bsDialog – форма не может менять свои размеры,
bsToolWindow – подобно bsSingle, но с уменьшенным по высоте заголовком,
bsSizeToolWin – подобно bsSizeable, но с уменьшенным по высоте заголовком;
• Property Position:Tposition; – определяет положение и размер формы в момент ее окрытия. Возможны следующие значения:
poDesigned –все определяется на этапе проектирования формы,
poDefault –положение и размеры окна определяет самой ОС Windows,
poDefaultPosOnly – Windows определяет только положение окна на экране,
poDefaultSizeOnly – Windows определяет только размеры окна на экране,
poScreenCenter – форма располагается по центру экрана,
• Property Icon:TIcon; – значок окна, для главной формы, и значек приложения,
• Property Menu:TMainMenu; – основное меню формы,
• Property Canvas:TCanvas; – холст формы.
Рассмотрим возможность сделать в качестве фона формы какую–нибудь картинку. Для этого определим в качестве глобальной переменной указатель на картинку и два обработчика событий для формы, например:
Var gr:TBitMap; // Определяем указатель на картинку
Procedure TForm1.FormCreate(Sender:TObject); // Создание формы
Begin
Gr:=TbitMap.Create; // Выделяем память под картинку
Gr.LoadFromFile(’c:\my\pic1.bmp’); // Загружаем картинку из файла
End;
Procedure TForm1.FormPaint(Sender:TObject); // Перерисовка формы
Begin
Canvas.Draw(0,0,gr); // Отображаем картинку на форме
End;
В этом примере мы загружает картинку в память из файла в обработчике события создания формы. Если бы мы здесь же отобразили картинку на форме, то при перемещении формы или изменении ее размеров эта картинка исчезла бы, ведь при каждом изменении размеров формы или ее перемещении по экрану форма заново перерисовывается. Обработчик события OnPaint вызывается при каждой перерисовке формы до момента отрисовки всех компонентов, размещенных на форме. В нем мы и вызываем метод отображения картинки на форме.
Все формы проекта обычно создаются в начале работы приложения, и конструкторы для их создания вызываются в файле проекта с расширением *.dpr.
Формы бывают модальными и немодальными. Модальная форма не позволяет переключиться на другую форму приложения, пока сама не будет закрыта. Немодальные формы не имеют такого ограничения. Главная форма проекта вызывается автоматически при запуске приложения. Для отображения всех остальных форм используются методы:
Procedure Show; – отображение немодальной формы;
Procedure ShowModal; – отображение модальной формы.
Для закрытия форм используются методы:
Procedure Close; –закрытие немодальной формы;
Procedure CloseModal; – закрытие модальной формы.
Например, мы хотим из формы Form1 вызвать модальную форму Form2 в обработчике события нажатия какой–либо кнопки. Для этого можно написать:
Procedure TForm1.Button1Click(Sender:TObject);
Begin
Form2.ShowModal;
End;
- Программирование в среде Delphi
- Программирование в среде Delphi
- 1. История развития вычислительной техники, системы счисления и единицы информации.................................................7
- 2. Структура персонального компьютера и операционные системы.........................................................................13
- 3. Основы алгоритмизации и работа в delphi..........................18
- 4. Базовые элементы delphi...................................................................26
- 5. Стандартные функции и подпрограммы................................30
- 6. Операторы delphi......................................................................................33
- 7. Операторы циклов....................................................................................35
- 18. Выделение памяти под объект и прародитель всех классов – tobject..........................................................................................84
- 19. Обработка исключительных ситуаций................................87
- 20. Основные классы и общие свойства компонентов...93
- 26. Технология com.....................................................................................129
- 1. История развития вычислительной техники, системы счисления и единицы информации
- 1.1. История развития вычислительной техники
- 1.2. Системы счисления
- 1.3. Единицы информации
- 2. Структура персонального компьютера и операционные системы
- 2.1. Структура персонального компьютера.
- 2.2. Операционные системы
- 3. Основы алгоритмизации и работа в delphi
- 3.1. Основы программирования
- 3.2. Программирование в среде Delphi
- 4. Базовые элементы delphi
- 4.1. Алфавит среды Delphi
- 4.2. Константы
- 4.3. Переменные
- 4.4. Основные типы переменных
- 4.5. Операции над переменными и константами
- 5. Стандартные функции и подпрограммы
- 5.1. Математические функции
- 5.2. Функции преобразования
- 5.3. Дополнительные системные подпрограммы и функции
- 6. Операторы delphi
- 6.1. Оператор присваивания
- 6.2. Оператор безусловной передачи управления
- 6.3. Условный оператор if
- 6.4. Оператор разветвления Case
- 6.5. Составной оператор
- 7. Операторы циклов
- 7.1. Оператор цикла For
- 7.2. Оператор цикла Repeat
- 7.3. Оператор цикла While
- 8. Работа с массивами
- 9. Работа со строками
- 9.1. Процедуры работы со строками
- 9.2. Функции работы со строками
- 10. Работа с записями
- 11. Процедуры и функции
- 12. Модуль unit
- 13. Работа со множествами
- 14. Работа с файлами
- 14.1. Текстовые файлы
- 14.2. Типированные файлы
- 14.3. Нетипированные файлы
- 15. Работа с файлами и каталогами
- 16. Динамические переменные и структуры данных
- 16.1. Динамические переменные
- 16.2. Работа со стеком
- 16.3. Работа со списками или очередями
- 16.4. Работа с деревьями
- 17. Основы объектно–ориентированного программирования
- 17.1. Объекты и классы
- 17.2. Области видимости класса
- 17.3. Свойства (Property) и инкапсуляция
- 17.4. Методы, наследование и полиморфизм
- 17.5. События (Events)
- 18. Выделение памяти под объект и прародитель всех классов – tobject
- 18.1. Выделение памяти под объект
- 18.2. Описание класса tObject
- 18.3. Операторы приведения типов классов
- 19. Обработка исключительных ситуаций
- 19.1. Два вида оператора Try
- 19.2. Программное создание исключительной ситуации
- 19.3. Основные исключительные ситуации
- 20. Основные классы и общие свойства компонентов
- 20.1. Класс tList
- 20.2. Класс tStrings
- 20.3. Общие свойства компонентов
- 21. Графические возможности delphi
- 21.1. Класс Tcanvas
- 21.2. Классы тGгарhic и тРicture
- 21.3. Классы tFont, tPen и tBrush
- 21.4. Работа с изображениями
- 22. Визуальные компоненты delphi
- 22.1. Компонент tBitBtn
- 22.2. Компоненты tDrawGrid и tStringGrid
- 22.3. Компонент tPageControl
- 22.4. Компонент tTimer
- 22.5. Компонент tGauge
- 22.6. Компонент tСolorGrid
- 23. Стандартные диалоговые окна и типовые диалоги
- 23.1. Стандартные диалоговые окна
- 23.2. Типовые диалоги
- 24. Форма, приложение и глобальные объекты
- 24.1. Форма и ее свойства
- 24.2. Объект Application
- 24.3. Глобальные объекты
- Объект ClipBoard
- Объект Screen
- Объект Printer
- 25. Межпрограммное взаимодействие
- 25.1. Обмен сообщениями
- 25.2. Динамический обмен данными
- 25.3. Совместное использование общей памяти
- 25.4. Каналы
- 25.5. Сокеты
- 26. Технология com
- 26.1. Интерфейс
- 27. Технология автоматизации
- 27.1. Основы ole Automation
- 27.2. Примеры использования серверов автоматизации
- 27.3. Компоненты ActiveX
- 28. Динамические библиотеки
- 28.1. Создание dll
- 28.2. Использование dll
- 28.3. Пример написания dll
- 29. Работа с базами данных
- 29.1. Основные определения
- 29.2. Взаимодействие приложения на Delphi с базами данных
- 29.3. Компоненты взаимодействия с базами данных
- If adoTable1.Locate(’fio,stag’,varArrayOf([’Иванов’,’10’]),[])Then …;
- 29.4. Работа с локальной базой данных
- 30. Основы языка sql
- 30.1. Составные части sql
- 30.2. Команда select
- 30.3. Пример использования запросов в Delphi
- 31. Создание собственных компонентов
- 32. Работа с реестром
- 33. Перспективы программирования в delphi
- Литература
- 220013, Минск, п.Бровки, 6