Программный Файл: ...\Samples\Solution\Forms\Sdiform.scx

Данный пример иллюстрирует поддержку в системе Visual FoxPro форм типа "SDI" (Single-Data-Interface). Для создания указанных Форм разработчику достаточно определить значение свойства ShowWindow =  2 (Top-Level-Form), форма верхнего уровня. Формы типа "SDI" не контролируются системой Visual FoxPro, активация и отображение выполняется ОС (Операционной системой).

Добавление Форм

Существует два варианта добавления новых Форм (как дочерних) в уже созданную форму верхнего уровня, типа "Top-Level" (SDI). В первом варианте: новая форма создается с свойством ShowWindow = 1, (In Top-Level - внутри формы верхнего уровня). Несмотря на то, что данный вариант является достаточно простым, это не всегда достигается, так как значение свойства ShowWindow может определяться только в режиме Разработки формы (Design Time).

Другой вариант основан на использовании стандартной команды ACTIVATE WINDOW. В следующем примере фрагмента программного Кода показывается простой вариант создания SDIForm. Поскольку указанная команда не базируется на Объекте, вы должны ссылаться на форму с помощью Имени Окна (Свойство Name).

  CopyCode imageКопировать Код
ACTIVATE WINDOW (thisform.oWindows[m.nGetWin].NAME) ;
IN WINDOW (thisform.name)

Добавление подсистемы Меню

Подсистема Меню также может быть добавлена в фоорму типа SDI. Для этого, использования Меню в форме типа "Top-Level" требуется включить соответствующий переключатель (Check Box), в дополнительном диалоговом боксе Menu Designer's View,  General Options. Для формы рассматриваемого типа (Top-Level Form) подсистема Меню активируется как показано в следующем фрагменте программного Кода.

  CopyCode imageКопировать Код
DO sdiform.mpr WITH THISFORM,.T.
NoteОбратите Внимание

Если подсистема Меню интегрируется в Главное окно Visual FoxPro, то Оно не будет доступно при скрытии указанного Главного Окна Visual FoxPro, (при активации окна SDI).

Добавление Инструментария Toolbars

В дополнении к Меню и дочерним Окнам, вы можете добавить инструментарий типа ToolBar в форму класса SDI. В силу того, что объекты Toolbars являются дочерними Окнами, поэтому вы получаете преимущество перед Объектной моделью Visual FoxPro, данные Инструменты успешно добавляются  в виде дочерних объектов в Форме. Далее представлен пример фрагмента программного Кода, где для формы типа SDI создается и прикрепляется к ней инструментальный объект ToolBar.

  CopyCode imageКопировать Код
SET CLASSLIB TO sditbar ADDITIVE
thisform.oToolbar=create("sditb1")
thisform.oToolbar.show

См. также