OpenWindow()
Синтаксис
Result = OpenWindow(#Window , x , y , InnerWidth , InnerHeight , Title$ [, Flags [, ParentWindowID]])
Описание
Открывает новое Окно с заданными параметрами. Новое Окно становится активным, так что нет необходимости использовать функцию SetActiveWindow() (не для случая когда создано невидимое Окно).
Параметры
#Window Номер, идентифицирующий новое Окно. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически. x, y Начальная позиция Окна (не в случае использования флагов центрирования). Если среди флагов есть #PB_Ignore, выбор позиции Окна предоставляется OS. InnerWidth, InnerHeight Размеры внутренней области Окна (называемой клиентской областью), без рамки, элементов управления, строки заголовка и других подобных вещей. Title$ Заголовок для создаваемого Окна. Flags (дополн.) Может быть комбинация следующих значений: #PB_Window_SystemMenu : Добавить системное меню в заголовке Окна (по умолчанию). #PB_Window_MinimizeGadget: Добавить Гаджет свёртывания в заголовок Окна. Автоматом добавится #PB_Window_SystemMenu. #PB_Window_MaximizeGadget: Добавить Гаджет развёртывания в заголовок Окна. Автоматом добавится #PB_Window_SystemMenu. (Только MacOS: #PB_Window_SizeGadget будет добавлен автоматически.) #PB_Window_SizeGadget : Добавить возможность изменения размера Окна. #PB_Window_Invisible : Создать Окно, но не показывать. #PB_Window_TitleBar : Создать Окно с заголовком. #PB_Window_Tool : Создать Окно с уменьшенным заголовком и без кнопки на панели задач. #PB_Window_BorderLess : Создать Окно без рамки. #PB_Window_ScreenCentered: Центрировать Окно в середине экрана. Параметры x,y игнорируются. #PB_Window_WindowCentered: Центрировать Окно в середине родительского Окна (должен быть задан параметр 'ParentWindowID').Параметры x,y игнорируются. #PB_Window_Maximize : Открыть Окно в развёрнутом на максимум виде. (В Linux не все менеджеры это поддерживают) #PB_Window_Minimize : Открыть Окно в свёрнутом виде. #PB_Window_NoGadgets : Не создавать список Гаджетов. С помощью функции UseGadgetList() это можно сделать позже. #PB_Window_NoActivate : Не активировать Окно после открытия.ParentWindowID (дополн.) Идентификатор Окна, для которого создаваемое Окно будет считаться "дочерним". Корректный идентификатор 'ParentWindowID' можно получить с помощью функции WindowID().
Возвращаемое значение
Возвращает не нулевое значение, если Окно было успешно создано, в противном случае 0. Если в качестве параметра #Window использовалось значение #PB_Any, то в случае успеха будет возвращен сгенерированный Номер.
Комментарии
Все возможные события происходящие с Окном обрабатываются стандартными функциями WindowEvent() и WaitWindowEvent().
Только для Windows: В особых ситуациях используются процедуры обратного вызова, смотрите описание функции SetWindowCallback(). В Windows высота и ширина Окна с заголовком не может быть меньше примерно 100 пикселей. Чтобы открыть Окно меньшего размера, используйте флаг "#PB_Window_BorderLess".
Важно: Окно не должно открываться в потоке, так как существует некоторое ограничение в OS X и Linux. Отладчик выдаст ошибку.
Пример (Фран)
If OpenWindow(0, 0, 0, 220, 100, "Пример...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ButtonGadget(1, 10, 60, 200, 30, "Закрыть") Repeat Event = WaitWindowEvent() Select Event Case #PB_Event_Gadget Select EventGadget() Case 1 CloseWindow(0) End EndSelect EndSelect Until Event = #PB_Event_CloseWindow EndIf
См. также
CloseWindow()
Поддерживаемые OS
Все