Разработка многодокументных приложений

Для создания приложений Windows можно использовать технологии SDI (Single document interface) и MDI (Multi document interface). До сих пор мы рассматривали примеры с использованием SDI – технологии. Основным объектом SDI – приложений является компонент Tform. A в MDI –приложениях компонент Tform используется для создания дочерних и материнской форм. В случае применения основного окна свойство FormStyle этого класса должно иметь значение fsMDIForm. Для дочерних форм этому свойству присваивается значение fsMDIChild.

Основное окно каждого MDI – приложения должно включать объект MainMenu.

Любое MDI- приложение включает три основных элемента:

– Экранная форма основного окна MDI-приложения.

– Одна или более форм дочерних окон MDI-приложения.

– Основное меню MDI-приложения.

Для автоматического добавления имен открытых дочерних форм в свойстве WindowMenu необходимо уточнить имя пункта меню. Тогда в этот пункт автоматически заносятся заголовки открытых дочерних форм.

На стандартной MDI – форме имеется клиентская область, и дочерние формы не могут выходить за пределы этой области. При закрытии или при минимизации дочерние формы отображаются в клиентской области основного окна, а не на панели задач Windows.

Теперь рассмотрим пример MDI-приложения.

Рис.80.

На основной форме создадим меню, а заголовкам дочерних форм присвоим “Дочка первая” и “Дочка вторая”. Закрепим за первым пунктом меню свойство WindowMenu.

Рис.81.

Обратите внимание на то, что минимизированное окно остается в левой нижней части основного окна.

В модулях для этих форм не фиксируется их стиль.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Menus;

type

TForm2 = class(TForm)

private

{Private declarations}

public

{Public declarations}

end;

var

Form2: TForm2;

implementation

{$R *.DFM}

end.