PureBasic

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

Все

<- IsWindow() - Оглавление Window - PostEvent()->