Функции работы с окнами - JavaScript windows API

Полный список свойств и функций, а так же общие правила их использования, см. здесь: Краткий обзор и правила, список функций VcorpJS.

Для ознакомления с оконной системой VcorpJS и обзора оконных функций рекомендуется почитать Оконная система VcorpJS - краткий обзор и правила,
Функции настроек и установок для окон находятся здесь: Настройка окон и оконная callback-функция

Здесь собраны следующие функции работы с окнами:

  • Функции создания и удаления окон
  • функции управления видимостью окон (вывод на передний план, сворачивание)
  • функции изменения содержимого и заголовков окон
  • Функция получения сведений об указанном окне и остальных окон (или панели окон)

Так же см. Блок с примерами использования функций

.wNew( [ headHTML ] , [ bodyHTML ] , [ left ] , [ top ] , [ width ] , [ height ] , [ buttons ] , [ opacity ] , [ objectResize ] )

Создаёт новое окно (скрытое) и возвращает числовой дескриптор ( 2 - 49 ). Новое окно скрыто. На панели окон добавляется новый значок окна. Параметры по умолчанию для новых окон задаются функцией .wSetting();

Для создаваемого окна могут быть указаны следующие параметры:

headHTML - Текст или HTML-содержимое заголовка окна.

bodyHTML - HTML-содержимое окна.

left, top, width, height - положение и размеры окна в пикселях (числа number). Минимальные размеры width - 100, height - 50.
(могут быть числами number или строками вида "100px").

buttons - числовой параметр для кнопок заголовка окна:
  0 - отображаются и работают кнопки скрыть и удалить (по умолчанию);
  1 - отображается и работает только кнопка удалить окно;
  2 - отображается и работает только кнопка скрыть окно;
  3 - невидимы и не работают обе кнопки. Скрытие и удаление окна только программно.

opacity - максимальная прозрачность окна от 0 до 1 (для IE8 тоже), по умолчанию 1 - непрозрачно.

objectResize - массив или объект с минимальными и максимальными допустимыми размерами окна.
Если это параметр не указан, то размер окна можно будет менять только программно (функцией .wSet() ).
Если укакзан, то окно будет содержать заданный правилами CSS контрол в правом нижнем углу, через который пользователь сможет менять размеры окна.

Пример окна с изменяемыми размерами - Навигация

Объект objectResize может быть массивом из 4-х значений вида [ minWidth, maxWidth, minHeight, maxHeight ] (например [300,"700px",200,450] )

Объект objectResize может быть объектом со следующими полями: { minWidth : 300, maxWidth : "700px", minHeight : 200, maxHeight : 450 }

Функция возвращает false если достигнуто максимально установленное количество существующих окон (как скрытых, так и видимых), или другая ошибка.
Максимально допустимое количество одновременно существующих окон читается и устанавливается функцией .wMax()

.wDelete( descriptor [ , animate ] )

Функция уничтожает окно по его дескриптору descriptor ( 1 - 49 ).

animate - если параметр указан (не 0 или true и т.д.), то окно при удалении растворяется (используется встроенная анимация прозрачности).
Если окно удаляет пользователь, анимация всегда есть (кроме IE8 и больших Grid), при этом для подтверждения удаления вызывается callback-функция (если она задана), подробнее об этом в описании настроек оконной системы и функции .wCallback( handler )

Если удаляемое окно было активно (на переднем плане), то активным становится следующее по индексу перекрытия окно, если оно видимо.

Функция возвращает true при успешном удалении окна, false при неверном дескрипторе и прочих ошибках.

.wShow( descriptor )

Функция делает окно ( 0 или 2 - 49 ) видимым и активным, даже если оно уже видимо. Переключает его поверх других окон, сдвигая (увеличивая) индекс перекрытия тех видимых окон, которые ранее перекрывали текущее. Дескриптор 0 управляет видимостью панели окон.

Функция возвращает true при успешном вывода окна на передний план, false при неверном дескрипторе и прочих ошибках.

.wHide( descriptor [ , animate ] )

Функция скрывает окно по его дескриптору descriptor ( 0 или 2 - 49 ).

animate - если параметр указан (не 0 или true и т.д.), то окно при скрытии растворяется (используется встроенная анимация прозрачности).
Если окно скрывает пользователь, анимация всегда есть (кроме IE8 и больших Grid), при этом для подтверждения скрытия вызывается callback-функция (если она задана), подробнее об этом в описании настроек оконной системы и функции .wCallback( handler )

Если скрываемое окно было активно (на переднем плане), то активным становится следующее по индексу перекрытия окно, если оно видимо. Окно с дескриптором 1 нельзя скрыть, можно только удалить. Дескриптор 0 управляет видимостью панели окон.

Функция возвращает true при успешном скрытии окна, false при неверном дескрипторе и прочих ошибках.

.wHead( descriptor [ , html ] )

Функция меняет HTML-содержимое заголовка окна descriptor ( 1 - 49 ). Не влияет на видимость или активность или размеры окна.

Функция возвращает true при успешной замене заголовка, false при неверном дескрипторе и прочих ошибках.

.wBody( descriptor [ , html ] )

Функция меняет HTML-содержимое окна descriptor ( 1 - 49 ). Не влияет на видимость или активность или размеры окна.

Функция возвращает true при успешной замене содержимого окна, false при неверном дескрипторе и прочих ошибках.

.wTop()

Возвращает descriptor активного окна ( 2 - 49 ) или 0 (если окон нет или они все невидимы).
В случае и возвращает undefined.

.wClear()

Уничтожает все окна (кроме модальных и панели окон).
Возвращает true или false при какой-либо ошибке.

.wSet( descriptor , [ left ] , [ top ] , [ width ] , [ height ] , [ buttons ] , [ opacity ] )

Установка размеров и положения окна под номером descriptor (от 1 до 49, если 0 - панель окон), а так-же кнопок и прозрачности.

Работает аналогично функции .wSetting(), но задаёт параметры указанному существующему окну.
При этом статус (скрыто/видимо) и index перекрытия окна не меняется, активное окно не меняется.

Если какой-либо параметр не указан или указан некорректно, то используется соответствующий параметр по умолчанию.

Функция возвращает true если параметры применены, или false если окно descriptor не существует или оконная система не инициализирована.

Эта функция может управлять размером и положением панели окон (если descriptor не указан или 0), тогда параметры buttons и opacity игнорируются.
Автор не реализовал изменение прозрачности панели окон, чтобы не засорять стилевые свойства этого объекта, потому что панель окон может иметь любое позиционирование и находиться где угодно и как угодно, но возможно воздействовать на панель окон через свои CSS-темы.

Внимание! Не пытайтесь управлять свойствами HTML-элементов окон через свойства display и visibility - их работа оптимизирована для разных браузеров через помежуточные родительские блочные HTML-элементы. Разумеется, внутри окон можно размещать произвольный HTML-код и работать с ним как угодно.

.wGet( descriptor )

Возвращает объект с параметрами указанного дескриптором окна. descriptor от 0 до 49.

Если окна нет, то возвращает undefined, иначе объект {...} со следующими полями :

Для панели окон ( указан descriptor 0 ):

ПолеТипНазначение
countnumberКоличество существующих окон (кроме модальных), как скрытых, так и открытых.
descnumber0 (панель окон)
descTopnumberdescriptor окна на переднем плане (кроме модальных), 0 - если видимых окон нет, или 2-49
dialognumberПризнак модального диалогового окна, 1 - существует, 0 - нет
messagenumberПризнак модального окна сообщения, 1 - существует, 0 - нет
leftnumberТекущая координата X левого верхнего угла Панели окон в пикселях
topnumberТекущая координата Y левого верхнего угла Панели окон в пикселях
widthnumberТекущая ширина Панели окон в пикселях
heightnumberТекущая высота Панели окон в пикселях
eWidthnumberТекущая ширина Значков панели окон в пикселях
eHeightnumberТекущая высота Значков панели окон в пикселях

Для окон ( указан descriptor 1 - 49 ):

ПолеТипНазначение
countnumberКоличество существующих окон (кроме модальных), как скрытых, так и открытых.
descnumberdescriptor окна, совпадает с передаваемым параметром descriptor
descTopnumberdescriptor окна на переднем плане (кроме модальных), 0 - если видимых окон нет, или 2-49
dialognumberПризнак модального диалогового окна, 1 - существует, 0 - нет
messagenumberПризнак модального окна сообщения, 1 - существует, 0 - нет
indexnumberДля окна сообщения всегда 0, для обычных (немодальных) окон индекс перекрытия: 0-свёрнуто, 1-на переднем плане, 2-следующее за передним, и т.д. до 48
leftnumberТекущая координата X левого верхнего угла окна в пикселях
topnumberТекущая координата Y левого верхнего угла окна в пикселях
widthnumberТекущая ширина окна в пикселях
heightnumberТекущая высота окна в пикселях
buttonsnumberот 0 до 3 - наличие кнопок управления окном
opacitynumberот 0 до 1 - текущая прозрачность окна, для IE8 тоже от 0 до 1
captionstringHTML - содержимое заголовка окна

Описание функций .wAlert( ... ) и .isAlert() см.: Модальное окно сообщения

Для навигации по всем страницам этого раздела сайта используйте пиктограмму или ссылку Навигация в верхней строке навигации.

Демо - блок с примерами использования функций

Визуальный пример использования ряда плагинов (отдельная веб-страница), в котором продемонстрированы следующие возможности:

  • объект управления событиями
  • комбинированные списки выбора (combobox)
  • анимационные меню
  • вывод модального окна сообщения
  • работа с окнами и панелью окон
  • работа с Гридами (в статичном блоке и в окнах)
  • работа плагина анимации
  • возможно, что-то ещё...

См. исходный код страницы. На странице находятся базовые CSS-стили и JavaScript-код управления страницей с комментариями
(на всякий случай, сорри за оформление кода страницы - страница предназначена для теста Гридов и скорости браузеров, а не для красоты кода).

Ссылка на страницу: Визуальный пример некоторых плагинов

  • «VcorpJS» - Главная страница раздела
  • Основные сведения
  • Подключение и инициализация VcorpJS
  • Типовой CSS-файл
  • Краткий обзор и правила, список всех функций.
  • Работа с функциями различного назначения
  • Функции общего назначения
  • Работа с классами и стилями
  • Работа с coockie
  • Работа со слоями (layers)
  • Управление событиями, спец-объект и обработчики
  • Работа со встроенными плагинами
  • Плагины VcorpJS - краткий обзор и правила
  • Перетаскивание объектов
  • Многоуровневые анимационные меню
  • Галереи изображений
  • Блоки ротации изображений
  • Модальное диалоговое окно
  • Модальное окно сообщения
  • Переключатели-флажки checkbox
  • Форматированный ввод данных
  • Поля ввода со списком выбора - combobox
  • Календарь (datepicker)
  • Оконная система
  • Оконная система - краткий обзор и правила
  • Настройка окон и оконная callback-функция
  • Функции работы с окнами
  • Работа с панелью окон
  • Табличный вывод данных Grid
  • Grid - краткий обзор и правила
  • Функции работы с Grid
  • Анимация объектов
  • Краткий обзор и правила анимации
  • Базовая функция анимации
  • Функции - обёртки анимации
  • POST запросы VcorpJS
  • POST запросы VcorpJS
  • Canvas и SVG - графика
  • Canvas - краткий обзор и правила
  • SVG - графики (charts)
  • Скачать vcorp_js_00_80.zip (35 Kb - js и css файлы)
  •  
  • Vcorp.ru - Главная страница сайта
  • Тест больших гридов в перемещаемых окнах
  • Тестирование 3D графики в браузерах
  • «Vcorp Generator» - Главная страница раздела
  • «Lazarus fpCEF3» - Главная страница раздела
  • Открывать окно навигации
    <<<
    Изменить высоту >>