Формы (TForm), модули данных (TDataModule), и фреймы (TFrame): основные свойства, использование в программе. Вызов форм в модальном режиме. 
";


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Формы (TForm), модули данных (TDataModule), и фреймы (TFrame): основные свойства, использование в программе. Вызов форм в модальном режиме.



Форма

Форма — это важнейший компонент Delphi 7, на котором основана вся работа этой

системы по проектированию и разработке приложений. Форма (класс TForm) содер-

жит богатый набор свойств (табл. 2.13), методов и событий (табл. 2.14), позволяю-

ших легко настраивать и организовывать самые сложные алгоритмы ее функцио-

нирования.

Таблица 2.13. Свойства класса TForm

Свойство Назначение

Active Содержит значение True, если форма имеет фокус ввода

ActiveControl Объект на форме, который имеет фокус ввода

Bcrderkons Список системных значков формы

BorderStyte Вид границ формы

Canvas Область рисования формы

CLientRect Размеры формы

ClientHeight

ClientWidth

DropTarget Содержит значение True, если форма может работать как приемник

в операциях перетаскивания

Floating Содержит значение True, если форма может пристыковываться к другим

окнам

FormState Текущее состояние формы

FormStyle Стиль формы

HelpFile Название файла справки для формы

Icon Значок, обозначающий форму, когда она свернута

KeyPreview Содержит значение True, если форма будет получать информацию

о нажатых клавишах раньше, чем расположенные на ней объекты

Menu Ссылка на главное меню формы (TMenu)

ModalResuSt Значение, возвращаемое формой, если она работает как модальное

диалоговое окно

Parent ≪Хозяин≫ формы

PixelsPerlncrt Число пикселов на дюйм. Применяется для настройки размера формы

в зависимости от экранного разрешения

Position Положение формы на экране в момент ее открытия в программе

PrintScale Масштабирование формы при выводе на печать

Scaled Содержит значение True, если размер формы будет подгоняться

в соответствии со значением свойства PixelsPerlnch

Visible Содержит значение True, если форма будет видима во время работы

программы

WindowState Состояние формы (свернута, развернута, нормальный размер)

132 Урок 2 Основы программирования в среде Delphi 7

Таблица 2.14. События, поддерживаемые классом TForm

Событие Условия генерации

OnActivate Форма стала активной

OnClose Форма закрывается

OnQoseQuery Запрос на закрытие формы

OnCreate Форма создается

OnDeactivate Форма потеряла фокус ввода

QnDestroy Форма уничтожается

OnHelp Форма получила запрос на выдачу справочной информации

OnHide Форма стала невидимой (значение свойства Visible установлено равным False)

OnPaint Форма должна быть перерисована

OnShortCut Пользователь нажал клавиатурную комбинацию, которая пока не обработана

OnShow Форма стала видимой (значение свойства Visible установлено равным True)

Управление проектом

Как уже говорилось, вся информация, относящаяся к текущей разрабатываемой

программе, объединяется в рамках системы Delphi 7в один проект, который хранит

все необходимые настройки в специальных файлах. Проектом управляет Менеджер

проекта — программа, входящая в состав системы Delphi 7. В функции Менеджера

входит визуальное представление структуры проекта и его содержимого (это могут

быть не только файлы с исходными текстами и файлы форм, но и любые другие

файлы). Менеджер проекта дополнительно позволяет вести одновременно несколько

проектов, объединенных в одну группу. Он вызывается командой View >- Project

Manager (Вид х Менеджер проекта) и наглядно показывает структуру группы ProjectGroupl

(рис. 2.13).

Добавление компонента проекта • Удаление компонента проекта

Имя текущего

проекта

Project мамаpf?!

|Proi≪l1 exe

"Ив • Pah

Структура группы

проектов

G ЛТосМСмпрЛег з

Pioject1.exe £ sohMJaf

Jjj] Unitl G:\Toolt\Conipteri\D7\Proects,

§1 UnJI gas Б \Tooli\CompeHs\D7\Proiect;

Ш MyFam G \Toote\Compileis\DAProiect;

Каталоги, в которых

размещены файлы

Рис. 2.13. Отображение сведении в Менеджере проектов

В эту группу пока что входит единственный проект Projectl, состоящий, в свою

очередь, из единственного модуля Unitl (он включает форму MyForm и файл Unitl.pas

Упровление проектом 1 33

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

приложения, которое будет получено в результате компиляции (это либо исполни-

мый код — файл.ЕХЕ, либо динамическая библиотека — файл -DLL), указан полужир-

ным шрифтом. Для проекта, созданного командой File >• New > Application (Файл >•

Создать > Приложение), по умолчанию считается, что он предназначен для получе-

ния исполнимого кода, поэтому в Менеджере проекта полужирной строкой выделено

Projectl.exe.

Любой компонент из проекта можно удалить, щелкнув на кнопке Remove (Удалить).

С помощью кнопки New (Создать) можно добавить новый компонент как в проект,

так и в группу. Свойства любого из объектов, доступных в Менеджере (от группы

проектов до отдельной формы), можно изменить, щелкнув на значке объекта правой

кнопкой мыши. Контекстное меню содержит набор пунктов, позволяющих выпол-

нить и настройку, и компиляцию, и редактирование. Для быстрого перехода из Мене-

джера проекта к редактированию конкретного объекта (исходного текста или формы)

достаточно дважды щелкнуть на значке этого объекта.

К группе проектов можно добавлять ранее созданные проекты. Это выполняется

командой Add Existing Project (Добавить существующий проект) контекстного меню.

Ранее созданные формы и соответствующие им файлы с исходными текстами

добавляются к конкретному проекту командой Add (Добавить).

Структура проекта представлена в виде ≪дерева≫. Это стандартный подход к отобра-

жению иерархически организованной информации в Windows. Стандартны и основ-

ные приемы по работе с подобными ≪деревьями≫: отдельные ≪листья* и ≪ветви≫

можно перемещать между узлами с помощью мыши.

Добавление новой формы

Продолжать изучение компонентов и возможностей вистемы Delphi 7, размещая

объекты на одной форме, неудобно. Уже сейчас наша экспериментальная форма

перенасыщена элементами управления. Поэтому надо либо создать новый проект

(его лучите включить в текущую группу ProjectGroupl, чтобы сохранить целостность

примеров), либо добавить к текущему проекту Projectl новую форму. Пока остано-

вимся на последнем варианте.

Новая форма добавляется к текущему проекту одним щелчком мыши на

командной кнопке New Form (Создать форму) или командой File > New >• Form

(Файл > Создать > Форма). При этом в Проектировщике сразу появится новая пустая

форма. Называться она будет Form2, а соответствующий ей файл с исходными тек-

стами добавится в редактор на новую панель Unit2. Теперь проект надо сохранить,

при этом система Delphi 7 поинтересуется названием нового модуля (пока что его

лучше оставить без изменений — Unit2).

ЗАМЕЧАНИЕ Переключаться между имеющимися в проекте формами можно с

помощью командной кнопки View Form (Отобразить форму] или

комбинации клавиш SHIFT+F12,

134 Урок 2. Основы программирования в среде Delphi 7

У программы может быть только одна главная форма — это форма, которая пока-

зывается при запуске программы, — и неограниченное число подчиненных форм,

вспомогательных окон, которые исходно на экране не появляются, а вызываются

по команде из программы с помощью специальных методов.

ЗАМЕЧАНИЕ Исходно подчиненные формы не показываются по одной простой

причине — значение их свойства Visible (Видимость) первоначально

установлено в False. Свойство Visible имеют все без исключения

компоненты Delphi 7, представляющие собой элементы управления.

Изменяя значения свойства Visible во время работы программы,

можно мгновенно делать любые объекты видимыми или невидимыми.

Добавим, например, к главной форме еще одну кнопку Buttons и назовем ее Окно.

При щелчке на ней должна отображаться форма Form2. Сделать это можно несколь-

кими способами.



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 372; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.19.27.178 (0.003 с.)