Описание методов и свойств класса + задание

advertisement
Класс TForm
Форма — это важнейший компонент Delphi, на котором основана вся работа этой
системы по проектированию и разработке приложений. Форма (класс TForm)
содержит обширный набор свойств методов и событий, позволяющих легко
настраивать и организовывать самые сложные алгоритмы ее функционирования.
Поскольку чаще всего приходится работать именно с формой,то многие элементы
описаны достаточно полно. Однако поскольку форма наследует все свойства
элемента управления TControl (будем подробно рассматривать позже), для многих
свойств дано только краткое описание. Все свойства, которые отображаются в
инспекторе объектов, описаны в табл.1. Если хорошо изучить эти свойства, то
работа с остальными элементами управления не будет представлять особых
трудностей, так как многие свойства повторяются. События класса TForm
приведены в табл. 2.
Таблица 1. Свойства класса TForm
Свойство
Active
ActiveControl
Align
AlphaBlend
AlphaBlendValue
Anchors
AutoScroll
AutoSize
BiDiMode
Borderlcons
BorderStyle
BorderWidth
Caption
Canvas
ClientHeight,
ClienlWidth
Color
Constraints
Ctl3D
Cursor
DefaultMonitor
DockSite
DropKind, DragMode
Enabled
Назначение
Определяет наличие фокуса
Указывает элемент управления, имеющий фокус
Изменяет размеры и положение формы
Определяют прозрачность формы.
Замечание.
Эти свойства работают только с операционной системой
Windows 2000 и выше на компьютере с процессором Р90 или
более мощным
Используется для привязки углов элемента управления к
углам включающего их компонента
Если True, то полосы прокрутки появляются только при
необходимости
Если True, то границы могут изменяться автоматически
при изменении содержимого
Определяет режим для направления считывания
Определяет пиктограмму в заголовке окна
Вид границ формы:
bsDialog — неизменяемые границы стандартного
диалогового окна;
bssingle — неизменяемые, одиночная линия;
bsNone — неизменяемые, нет видимой границы;
bssizeable — стандартная изменяемая граница;
bsToolwindow— подобно bsSingle, но с уменьшенным
заголовком;
bsSizeToolWin — подобно bssizeable, но с уменьшенным
заголовком
Ширина рамки
Название формы, помещаемое в заголовке
Область рисования формы
Размеры клиентской части формы (без заголовка)
Цвет фона формы
Ограничители, устанавливающие пределы автоматического
изменения размеров формы
Вид формы — объемный (3D) или нет
Определяет вид курсора при наведении указателя мыши на
форму
Определяет монитор, в котором отображается форма
Содержит значение True, если к форме разрешено
"пристыковываться" другим окнам
Определяют возможности формы при операциях
перетаскивания элементов
Определяет реакцию формы на события мыши, клавиатуры и
Font
FormStyle
Heigth
HelpContex
HelpFile
HelpKeyword
HelpType
Hint
HorzScrollBar
Icon
KeyPreview
Left
MDIChildCount
MDIChildren
Menu
ModalResult
Monitor
Name
ParentBiDiMode
ParentFont
PixelsPerlnch
Position
таймеров
Установка шрифтов для формы
Стиль формы.
Свойство может принимать следующие значения:
fsNormal — форма не является родительским или дочерним
окном;
fsMDichild — форма является дочерним окном;
fsMDiForm — форма является родительским окном;
fsStayOnTop — форма всегда остается вверху рабочего
окна над другими формами проекта, если у других окон не
установлен режим fsStayOnTop
Высота формы с заголовком и рамкой
Используется для организации справочника
Имя файла справки для формы
Ключевое слово для справочника
Используется для организации справочника
Содержит текст подсказки, появляющейся при наведении на
форму указателя мыши
Свойства горизонтальной полосы прокрутки
Пиктограмма, обозначающая форму, когда она свернута
Содержит значение True, если форма должна получать
информацию о нажатых клавишах раньше, чем расположенные
в ней объекты.
При значении False информация о нажатых клавишах
принимается только активным элементом управления.
Навигационные клавиши (<ТаЬ>, <BackTat», клавиши со
стрелками и т.д.) в этом режиме не учитываются,
так как они не генерируют события. По умолчанию
значение равно False
Координаты левого угла привязки
Содержит номер открытой дочерней MDI-формы
Доступ к дочерним окнам по индексу
Ссылка на главное меню формы (TMenu)
Значение, возвращаемое формой, если она работает как
модальное диалоговое окно
Получение информации о мониторе, в котором отображается
форма
Идентификатор (имя) формы для обращения к ней в
программе
Использование направления, установленного в базовом
классе
Использование шрифтов, установленных в базовом классе
Число пикселей на дюйм. Применяется для настройки
размера формы в зависимости от экранного разрешения
Положение формы на экране в момент ее открытия.
Возможны следующие значения:
poDesigned — форма отображается на экране с теми
размерами и позицией, которые заданы в момент
проектирования;
poDef a u l t — форма отображается на экране с
размерами и позицией, определяемыми операционной
системой;
poDef aultPosOnly — форма отображается на экране с
размерами, заданными при проектировании, и позицией,
определяемой операционной системой;
poDef aultSizeOnly — форма отображается на экране с
позицией, заданной при проектировании, и размерами,
определяемыми операционной системой;
poScreenCenter — форма отображается на экране с
размерами, заданными при проектировании, в центре
экрана. В приложениях для работы с несколькими
мониторами может происходить настройка
в соответствии со свойством DefaultMonitor;
PrintScale
Scaled
ScreenSnap
ShowHints
SnapBuffer
Tag
Top
TransparentColor
TransparentColorValue
UseDockManager
VertScrollBar
Visible
Width
WindowState
poDesktopCenter — форма отображается на экране с
размерами, заданными при проектировании, ив центре
экрана. Никаких дополнительных настроек в режиме работы
с несколькими мониторами;
poMainFormCenter — форма отображается на экране с
размерами, заданными при проектировании, и в центре
главной формы приложения, без настроек в режиме работы
с несколькими мониторами;
poOwnerFormCenter — форма отображается на экране с
размерами, заданными при проектировании, и в центре
формы, указанной в свойстве Owner. Если это свойство не
определено, то аналогично poMainFormCenter
Масштабирование формы при выводе на печать
Содержит значение True, если размер формы будет
подгоняться в соответствии со значением свойства
PixelsPerlnch
Разрешение на стыковку с границей экрана при
приближении окна на расстояние, указанное в свойстве
SnapBuffer
Разрешение на отображение подсказки
Установка зоны в пикселях для стыковки с границей
экрана
Связывает числовое значение с формой
Координаты угла привязки
Разрешает прозрачность отдельного цвета
Определяет цвет, который будет прозрачным
Разрешение режима стыковки при перетаскивании
Свойства вертикальной полосы прокрутки
Содержит значение True, если форма будет видима во
время работы программы
Ширина формы с рамкой
Состояние формы (свернута, развернута, нормальный
размер)
Модуль с формой содержит две вкладки: одна как графическое отображение,
другая как текстовый редактор. Для переключения между вкладками щелкните на
соответствующих корешках или используйте клавишу <F12>.
Совет студентам третьего курса:) :Не бойтесь экспериментировать, поскольку
читая только справочную информацию, невозможно изучить графический интерфейс
Delphi.
Таблица 2. События, поддерживаемые классом TForm
Событие
Условия генерации
OnActivate
При активизации формы
OnClose
При закрытии формы
OnCloseQuery
При запросе на закрытие формы
OnCreate
При создании формы
OnDeactivate
При потере фокуса ввода
OnDestroy
При уничтожении формы
OnDockDrop
При стыковке с другим окном
OnDropOver
При расстыковке с другим окном
OnGetSiteinfo
При стыковке окон
OnHelp
Форма получила запрос на выдачу справочной информации
OnHide
Форма стала невидимой (свойство v i s i b l e имеет
значение False)
onKeyDown
в момент нажатия клавиши клавиатуры при наличии
фокуса
OnKeyPressed
В момент нажатия клавиши клавиатуры
OnKeyUp
При отпускании клавиши клавиатуры
OnPaint
OnshortCut
OnShow
OnUpDock
При перерисовке формы
Пользователь нажал клавиатурную комбинацию, которая
пока не обработана
Форма стала видимой (значение свойства Visible стало
True)
При расстыковке элемента управления, подключенного
средствами окна
Контрольные вопросы 
1. Если при описании класса явно не указывать базовый класс, то какой класс
будет использоваться в качестве базового?
2. От какого класса унаследован класс TForm?
3. Какие свойства формы вы сразу запомнили?
4. Можно ли переопределять методы класса TObject?
Задания:
Создать следующую форму:
a)
1. Заголовок - Ваши фамилии
2. Пиктограмма – Turbo Pascal (или домашняя заготовка)
3. Размер 250х400. Ограничить возможность изменения размеров формы
пользователем 100 пикселями в любом направлении.
4. При наведении на форму курсор должен изменяться на HandPoint, а так же
должна появляться подсказка ( на Ваш выбор – при “отключенной”
фантазии-“Форма, однако”)
5. Цвет фона – зеленый
6. При щелчке левой кнопкой мыши по форме – окно формы должно
сворачиваться
b) 6. При щелчке левой кнопкой мыши по форме – окно формы должно
увеличиваться в размерах на 10 пикселей (до максимального при каждом
следующем “клике”), а потом уменьшаться на 10 пикселей (до минимального при
каждом следующем “клике”).
с) программа – конвертер (1 версия)
Download