Форма

Иерархия наследования

          IComponent

          IControl

          IFormControl

          IFormClass

          Form

Описание

Форма является основным компонентом, на котором располагаются все остальные компоненты дизайнера форм. Класс Form используется для создания стандартных окон, окон инструментов, необрамленных и перемещаемых окон. Класс Form также используется для создания модальных окон, например, диалогового окна. Для определения параметров формы используются свойства и методы, реализованные в IFormControl. Параметры активной формы из языка Fore можно получить используя свойство Active, либо используя зарезервированный идентификатор Self. Self вернет параметры формы, в рамках которой он был вызван.

MDI

Особым видом приложений являются приложения с многооконным интерфейсом - MDI. MDI приложение представляет собой главную MDI-форму. В области главной формы в виде отдельных окон отображаются дочерние MDI-формы.

Для создания главной MDI-формы необходимо свойству WindowStyle установить значения MDIFrame. Дочерние MDI-формы создаются путем установки свойству WindowStyle значения MDIChild.

На главной MDI-форме могут использоваться только следующие компоненты: BannerBar, ControlBar, MainMenu, ReportFormulaBar, Ribbon, Toolbar. Дочерние MDI-формы могут содержать любые компоненты.

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

Для активации MDI-формы необходимо щелкнуть по соответствующей вкладке, либо выбрать форму из списка, открываемого при нажатии кнопки . Данная кнопка расположена с правой стороны в области вкладок. Для закрытия какой-либо дочерней MDI-формы необходимо щелкнуть средней клавишей мыши (роликом мыши) в области соответствующей вкладки. Закрытие активной дочерней MDI-формы можно осуществить следующим образом:

В языке Fore управление дочерними MDI-окнами осуществляется с помощью соответствующих свойств и методов, реализованных в интерфейсе IFormControl. При создании дочерних MDI-окон в качестве родительского окна в методе CreateForm должна передаваться главная MDI-форма.

Примечание. Форма, открытая модально для какой-либо дочерней MDI-формы, будет существовать вне зависимости от данной формы. При закрытии дочерней MDI-формы, формы, открытые для нее модально, будут доступны. Закрытие всех модальных форм будет производиться при закрытии главной (MDIFrame) MDI-формы.

Пример

Свойства формы

  Имя свойства Краткое описание
Свойство Active возвращает параметры формы, активной в данный момент.
Свойство MakeShortcut возвращает значение, соответствующее комбинации "горячих клавиш", которую необходимо назначить для какого-либо действия.

Методы формы

  Имя метода Краткое описание
Метод CreateForm осуществляет создание новой формы.

События формы

  Имя события Краткое описание
Событие OnActivate наступает в момент получения фокуса формой, либо одним из ее дочерних компонентов.
Событие OnBeginDrag для компонента наступает, когда пользователь начинает перетаскивать объект от компонента.
Событие OnClick наступает, если пользователь осуществил щелчок основной кнопкой мыши в области формы.
Событие OnClose наступает непосредственно перед закрытием формы.
Событие OnCloseQuery наступает в тот момент, когда форма получает команду на закрытие.
Событие OnCommand наступает во время отправления команды данной форме от другой формы.
Событие OnCreate наступает непосредственно при создании формы.
Событие OnDblClick наступает, если пользователь осуществил двойной щелчок кнопкой мыши в области формы.
Событие OnDeactivate наступает в момент потери фокуса формой, либо одним из ее дочерних компонентов.
Событие OnDragDrop для компонента наступает, когда пользователь отпускает над ним перетаскиваемый объект.
Событие OnDragEnter наступает, когда перетаскиваемый объект входит в границы данного компонента.
Событие OnDragLeave наступает, когда перетаскиваемый объект выходит за границы данного компонента.
Событие OnDragOver для компонента наступает, когда пользователь протаскивает над ним перетаскиваемый объект.
Событие OnEnter наступает в момент получения фокуса компонентом.
Событие OnExit наступает в момент потери фокуса компонентом.
Событие OnHelp наступает во время нажатия на компонент при активном режиме отображения справки, либо при нажатии кнопки «F1» для активного компонента.
Событие OnHide наступает непосредственно перед тем, как форма станет невидимой.
Событие OnMDIActivate возникает во время смены активной дочерней MDI-формы.
Событие OnKeyDown наступает, если компонент находится в фокусе и производится нажатие клавиши на клавиатуре.
Событие OnKeyPress наступает, если компонент находится в фокусе, при нажатии пользователем символьной клавиши.
Событие OnKeyPreview наступает перед каждым событием, связанным с нажатием клавиш.
Событие OnKeyUp наступает, если компонент находится в фокусе, при отпускании пользователем любой, ранее нажатой клавиши.
Событие OnMouseDown наступает, если указатель находится в области компонента и была нажата любая кнопка мыши.
Событие OnMouseEnter наступает в момент входа курсора мыши в область компонента.
Событие OnMouseHover наступает при задержке курсора мыши в области компонента.
Событие OnMouseLeave наступает в момент выхода курсора мыши за пределы области компонента.
Событие OnMouseMove наступает при перемещении курсора мыши над компонентом.
Событие OnMouseUp наступает при отпускании кнопки мыши, когда указатель находится в области компонента.
Событие OnMouseWheel наступает, если компонент находится в фокусе при вращении колеса мыши.
Событие OnResize наступает после изменения размера формы.
Событие OnShow наступает непосредственно перед выводом формы на экран.

См. также:

Компоненты Fore