Атрибуты окна |
<атрибуты-окна> = [ <контексты> ] { alwaysOnTop | alwaysReturn | doAccept | escClose | inheritCommands | keepQueue | pushPosition | SDIWindow | dialog | leftToolbar | rightToolbar | topToolbar | downToolbar | <иконка-окна> }
alwaysOnTop - позволяет установить для SDI-окон (и только для них) режим постоянного присутствия на поверхности "рабочего стола" Windows во время работы с приложением, то есть позволяет избегать перекрытия этих окон основным окном приложения. Свойство не является эквивалентом стиля WS_EX_TOPMOST Windows-окна: SDI-окно не перекрывается лишь окном приложения и может быть перекрыто другим приложением или другим SDI-окном.
alwaysReturn - определяет результат выполнения функций RunWindowModal и RunInterface в том случае, если в обработчике события cmInit запускаемого интерфейса или окна был вызван оператор abort.
Если данный атрибут не установлен - возвращается код команды cmCancel. Если установлен - код cmDefault.
Кроме того, для интерфейсов этот атрибут оказывает влияние на то, будут ли в такой ситуации возвращаться значения в var параметрах от вызываемого интерфейса вызывающему. Если этот атрибут был указан при перечислении атрибутов интерфейса, то вызываемый интерфейс может вернуть значения в var параметрах вызвавшему его интерфейсу, даже если в обработчике события cmInit был вызван оператор Abort.
Аналогичное влияние этот атрибут интерфейса оказывает на исполнение обработчиков OnClose любых описанных в нём объектов быстрого выбора (QuickChoice).
Смотрите также: RunWindowModal, RunInterface, "Объект быстрого выбора. ".
doAccept - окно закрывается по событию cmDefault. Событие cmDefault - стандартное событие "Атлантис", которое генерируется интерфейсом по нажатию клавиши Enter.
escClose - окно закрывается по Escape. Если оно было запущено модально, то функция RunInterface возвращает cmCancel.
inheritCommands - наследовать множество команд от вызывающего интерфейса или не наследовать, а взять множество команд, запрещенных глобально.
keepQueue - не чистить очередь событий при закрытии интерфейса.
pushPosition - при открытии спасается позиция в логической таблице. При закрытии по cmCancel позиция восстанавливается. Данный атрибут имеет смысл только для дополнительных окон и устанавливается по умолчанию для окна перехода (см. "Окна перехода. ").
SDIWindow - свойство SDIWindow позволяет создать окна внешние по отношению к окну приложения, вместо привычных MDI-окон, "запертых" в родительском окне. В то же время, несмотря на отдельное расположение на экране, SDI-окно является полноценным окном приложения, в т.ч. обрабатывает все команды, приходящие как с клавиатуры, так и от приложения. Точно также, как и обычные окна интерфейсов, SDI-интерфейсы не могут иметь своего оконного меню. SDI-окна добавляются также и в TaskBar Windows.
Свойства SDIWindow и AlwaysOnTop ранее в Атлантисе не поддерживались и пока не могут быть определены в описании окна интерфейса.
Для установки значений этих свойств пока предлагается в обработчике события cmInit интерфейса использовать вызов функции cfsSetProp. В качестве кода свойства используются константы cfpSDIWindow или cfpAlwaysOnTop. Значение свойства можно получить функцией cfsGetProp.
dialog - присвоить окну свойства диалогового окна (палитра и т.п.). Т.е. внешний вид будет как у диалогового окна, а функциональные возможности - как у интерфейса. Данный атрибут позволяет создавать диалоги с логической таблицей и с обработчиком событий.
leftToolbar - расположить инструментальную панель слева.
rightToolbar - расположить инструментальную панель справа.
topToolbar - расположить инструментальную панель сверху.
downToolbar - расположить инструментальную панель снизу.
<иконка-окна> - описывает иконку окна /интерфейса (выводится в левом верхнем углу). Иконка задается идентификатором или ключевым словом defaultAppIconName.
Если иконка окна не задана, используется иконка, указанная в директиве #iconName (см. "IconName: установить иконку окна. "). Если иконка не задана ни атрибутом окна ни директивой #iconName, то используется иконка приложения.
<иконка-окна> = icon <идентификатор-картинки> | defaultAppIconName
<идентификатор-картинки> - идентификатор иконки, см. "Иконки. ".
defaultAppIconName - в качестве иконки окна использовать иконку приложения. Опция доступна начиная с Атлантис 5.2.05.
Пример 1. Задание свойств SDIWindow и AlwaysOnTop.
handleEvent cmInit: cfsSetProp ('AktUsl', cfpSDIWindow, true); cmMyToggleAlwaysOnTop : { var b : boolean; cfsGetProp ('AktUsl', 'AlwaysOnTop', b); cfsSetProp ('AktUsl', 'AlwaysOnTop', not b); } end;
Пример 2. Размещение инструментальной панели слева.
window TestWindToolbar 'тест тулбара' escclose, doaccept, leftToolbar;
Опция defaultAppIconName доступна начиная с Атлантис 5.2.05.