Управление окном модуля

В случае, когда ZuluGIS автоматически создает панель для внедряемого окна модуля (например, если модуль выполнен в виде элемента ActiveX), поведением этого окна можно управлять. Для этого служит элемент controlbar:

<plugin id="myplugin" name="My Plugin">
    <controlbar
        allowdockable="1|0"
        dockable="1|0"
        hideonclose="1|0"
        showhidecommand="Имя_команды"
        initialsize="cx,cy"
        caption="Заголовок окна"
        sizeable="1|0"
    />
...

Заголовок окна

Можно задать заголовок окна с помощью атрибута caption. Этот же заголовок будет иметь плавающая панель, куда внедрено окно модуля, а также будет отображаться среди вкладок, когда панель будет «придокирована».

Габариты окна

Начальные габариты окна можно задать с помощью атрибута initialsize. В нем через запятую указывается ширина и высота клиентской области окна в пикселах:

initialsize="200,200"

Также можно задавать размеры в единицах twips. Это удобно, когда встраиваемое окно разрабатывается как UserControl в Microsoft Visual Basic, где размеры обычно задаются в twips. Например:

initialsize="twips:4095,3735"

По-умолчанию пользователь может менять размеры окна с помощью рамки панели, однако это можно запретить, чтобы габариты окна оставались неизменными. Для этого нужно задать атрибут sizeable со значением 0:

sizeable="0"

Закрытие и скрытие окна

Если не указано иначе, при нажатии на кнопку «Закрыть» окна модуля, это окно закрывается и уничтожается. Это поведение можно изменить.

Для того, чтобы окно не уничтожалось, а лишь скрывалось, можно воспользоваться атрибутом hideonclose:

hideonclose="1"

В этом случае команда кнопки «Закрыть» меняется на «Скрыть», при нажатии на кнопку окно становится невидимым и может быть вновь отображено при вызове какой-либо команды модуля.

Также операцию скрытия/отображения окна модуля можно синхронизировать с какой-либо командой модуля. Для этого служит строковый параметр showhidecommand:

showhidecommand="ShowForm"

При указании этого параметра, окно модуля ведет себя также как и встроенные рабочие окна ZuluGIS, такие как «Сообщения», «Свойства», «Навигатор» и др. С помощью указанной команды модуля окно скрывается или вновь отображается, при этом внешний вид кнопки инструментов или пункта меню отражает текущее состояние окна (видимое/невидимое).