OpenWindow

Window ››
Parent Previous Next

OpenWindow

Синтаксис

Function OpenWindow(ByRef sName As String, ByVal x As Integer, ByVal y As Integer, ByVal w As Integer, ByVal h As Integer, ByVal Style As Integer=WS_OVERLAPPEDWINDOW or WS_VISIBLE or WS_TABSTOPENABLE, ByVal ExStyle As Integer=0, ByVal User_data_Sub as any ptr = 0) As HWND

Описание

Используется для создания окна.

В GTK3 свойство SHRINKABLE (когда окно может уменьшаться , наезжая на гаджеты) не работает. Поэтому не получится уменьшить размер меньше , чем совокупные размеры гаджетов. Однако , можно установить полосы прокрутки (свойства WS_HSCROLL , WS_VSCROLL)  и с помощью функции SetOptionsWindowScroll задать опцию GTK_POLICY_EXTERNAL. Это конечно не полноценная замена (внутри окна появится прокрутка колесом мыши),  но внешний вид и SHRINKABLE будет соответствовать.

При задании стилей WS_HSCROLL , WS_VSCROLL в Linux , происходит автоматическая прокрутка (никакого лишнего кода не нужно). В Windows стили WS_HSCROLL , WS_VSCROLL только создают полосы прокрутки , но обработка событий должна быть выполнена программистом. Пример того , как взаимодействовать с полосами прокрутки в Windows есть во вкладке ScrollBarGadget справки (4 пример)

Параметры

sName - текст в заголовке окна

x,y,w,h - расположение и размеры

Style - стиль, может быть:

Для Linux и Windows:
WS_MAXIMIZE - Создает окно, которое первоначально развернуто.
WS_MINIMIZE - Создает окно, которое первоначально свернуто. Тот же самый стиль, что и WS_ICONIC.
WS_OVERLAPPEDWINDOW - Создает перекрывающее окно со стилями WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX и WS_MAXIMIZEBOX. Тот же самый, что и стиль WS_TILEDWINDOW.
WS_POPUP - Создает выскакивающее окно. Этот стиль не может использоваться со стилем WS_CHILD.
WS_VISIBLE - Создает окно, которое является первоначально видимым.
WS_HSCROLL - Создает окно, которое имеет горизонтальную линейку прокрутки.
WS_VSCROLL - Создает окно, которое имеет вертикальную линейку прокрутки.
WS_TABSTOPENABLE - Переключение фокуса для гаджетов клавишами TAB , SHIFT+TAB , CTRL+TAB . В Linux данная опция всегда активна.

Только для Windows:
WS_BORDER - Создает окно, которое имеет тонкую линию рамки.
WS_CAPTION - Создает окно, которое имеет строку заголовка (включает в себя стиль WS_BORDER).
WS_CHILD - Создает дочернее окно. Этот стиль не может использоваться со стилем WS_POPUP.
WS_CHILDWINDOW - То же самое, что и стиль WS_CHILD.
WS_CLIPCHILDREN - Исключает область, занятую дочерними окнами, когда прорисовка происходит внутри родительского окна. Этот стиль используется при создании родительского окна.
WS_CLIPSIBLINGS - Закрепляет дочерние окна относительно друг друга, то есть когда отдельное дочернее окно принимает сообщение WM_PAINT, стиль WS_CLIPSIBLINGS закрепляет все другие перекрывающие дочерние окна вне области дочернего окна, которое нужно модифицировать. Если стиль WS_CLIPSIBLINGS не определен, а дочерние окна перекрываются, то, возможно, что при прорисовке внутри рабочей области дочернего окна, будет выводиться внутренняя рабочая область соседнего дочернего окна.
WS_DISABLED - Создает окно, которое первоначально заблокировано. Заблокированное окно не может принимать вводимую информацию от пользователя.
WS_DLGFRAME - Создает окно, которое имеет стиль рамки, обычно используемый с диалоговыми окнами. Окно с этим стилем не может иметь строку заголовка.
WS_GROUP - Определяет первый элемент управления в группе элементов управления. Группа состоит из этого первого элемента управления и всех определенных элементов управления после него, до следующего элемента управления со стилем WS_GROUP. Первый элемент управления в каждой группе обычно имеет стиль WS_TABSTOP, чтобы пользователь мог перемещаться из группы в группу. Пользователь может впоследствии передавать фокус клавиатуры от одной группы элементов управления в следующую группу элементов управления, используя клавиши со стрелками.
WS_ICONIC - Создает окно, которое первоначально свернуто. Тот же самый стиль, что и WS_MINIMIZE.
WS_MAXIMIZEBOX - Создает окно, которое имеет кнопку Развернуть (Maximize). Не может быть объединен со стилем WS_EX_CONTEXTHELP. К тому же должен быть определен стиль WS_SYSMENU.
WS_MINIMIZEBOX - Создает окно, которое имеет кнопку Свернуть (Minimize). Не может быть объединен со стилем WS_EX_CONTEXTHELP. К тому же должен быть определен стиль WS_SYSMENU.
WS_OVERLAPPED - Создает перекрывающее окно. Перекрывающее окно имеет строку заголовка и рамку. Тот же самый стиль, что и WS_TILED.
WS_POPUPWINDOW - Создает выскакивающее окно со стилями WS_BORDER, WS_POPUP и WS_SYSMENU. Стили WS_CAPTION и WS_POPUPWINDOW должны быть объединены, чтобы сделать меню окна (window) видимым.
WS_SIZEBOX - Создает окно, которое имеет установку размеров рамки окна. Тот же самое, что и стиль WS_THICKFRAME.
WS_SYSMENU - Создает окно, которое имеет меню окна (window-menu) в его строке заголовка. К тому же должен быть определен стиль WS_CAPTION.
WS_TABSTOP - Определяет элемент управления, который может принимать фокус клавиатуры, когда пользователь нажимает клавишу ТАБУЛЯЦИИ (TAB). Нажатие на клавиши табуляции передает фокус клавиатуры на следующий элемент управления со стилем WS_TABSTOP.
WS_THICKFRAME - Создает окно, которое имеет установку размеров рамки окна. То же самое, что и стиль WS_SIZEBOX.
WS_TILED - Создает перекрывающее окно. Перекрывающее окно имеет строку заголовка и рамку. То же самое, что и стиль WS_ OVERLAPPED.
WS_TILEDWINDOW - Создает перекрывающее окно со стилями WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX и WS_MAXIMIZEBOX. То же самое, что и стиль WS_ OVERLAPPEDWINDOW.

ExStyle - (только для Windows) расширенный стиль, может быть:

WS_EX_ACCEPTFILES - Определяет, что окно, созданное с этим стилем принимает файлы при помощи информационной технологии "перетащи и вставь".
WS_EX_APPWINDOW - Активизирует окно верхнего уровня на панель задач, когда окно свернуто.
WS_EX_CLIENTEDGE - Определяет, что окно имеет рамку с углубленным краем.
WS_EX_CONTEXTHELP - Включает вопросительный знак в строку заголовка окна. Когда пользователь щелкает мышью по вопросительному знаку, курсор меняется на вопросительный знак с указателем. Если пользователь затем щелкает мышью по дочернему окну, потомок принимает сообщение WM_HELP. Дочернее окно должно передать сообщение родительской оконной процедуре, которая должна вызваться функцией WinHelp, использующей команду HELP_WM_HELP. Прикладная программа Справки показывает выскакивающее окно, которое обычно содержит справку для дочернего окна. WS_EX_CONTEXTHELP не может использоваться со стилями WS_MAXIMIZEBOX или WS_MINIMIZEBOX.
WS_EX_CONTROLPARENT - Позволяет пользователю передвигаться среди дочерних окон основного окна, используя клавишу табуляции (TAB).
WS_EX_DLGMODALFRAME - Создает окно, которое имеет двойную рамку; окно может быть создано (необязательно) со строкой заголовка, которую определяет стиль WS_CAPTION в параметре dwStyle.
WS_EX_LEFT - Окно имеет общеупотребительные свойства "выравнивания по левой границе". Это - по умолчанию.
WS_EX_LEFTSCROLLBAR - Если язык оболочки Еврейский, Арабский или другой язык, который придерживается иного порядка чтения, вертикальная линейка прокрутки (если появляется) - слева от рабочей области. Для других языков, этот стиль игнорируется и не обрабатывается как ошибка.
WS_EX_LTRREADING - Текст окна отображается, используя свойство порядка чтения Слева - Направо. Это - по умолчанию.
WS_EX_MDICHILD - Создает MDI дочернее окно.
WS_EX_NOPARENTNOTIFY - Определяет, что дочернее окно, созданное с этим стилем не посылает сообщение WM_PARENTNOTIFY родительскому окну, когда оно создается или разрушается.
WS_EX_OVERLAPPEDWINDOW - Объединяет стили WS_EX_CLIENTEDGE и WS_EX_WINDOWEDGE.
WS_EX_PALETTEWINDOW - Объединяет стили WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW и WS_EX_TOPMOST.
WS_EX_RIGHT - Окно имеет общеупотребительные свойства "выравнивание по правому краю". Оно зависит от класса окна. Этот стиль имеет эффект только тогда, если язык оболочек Еврейский, Арабский или другой язык, который поддерживает иной порядок выравнивания для чтения; иначе, стиль игнорируется и не обрабатывается как ошибка.
WS_EX_RIGHTSCROLLBAR - Вертикальная линейка прокрутки (если появляется) - справа от рабочей области. Это - по умолчанию.
WS_EX_RTLREADING - Если язык оболочки Еврейский, Арабский или другой язык, который придерживается иного порядка выравнивания для чтения, текст в окне отображается, используя свойства порядка чтения, Справа - Налево. Для других языков, стиль игнорируется и не обрабатывается как ошибка.
WS_EX_STATICEDGE - Создает окно с трехмерным стилем рамки, предполагается использовать для элементов, которые не принимают вводимую информацию от пользователя.
WS_EX_TOOLWINDOW - Создает окно инструментальных средств; то есть окно предполагается использовать как плавающую инструментальную панель. Окно инструментальных средств имеет строку заголовка, которая является короче, чем нормальная строка заголовка, а заголовок окна выводится, с использованием меньшего шрифта. Окно инструментальных средств не появляется в панели задач или в диалоговом окне, которое появляется, когда пользователь нажимает ALT+TAB.
WS_EX_TOPMOST - Определяет, что окно, созданное с этим стилем должно быть размещено выше всех, не самых верхних окон и должно стоять выше их, даже тогда, когда окно дезактивировано. Чтобы добавить или удалить этот стиль, используйте функцию SetWindowPos.
WS_EX_TRANSPARENT - Определяет, что окно, созданное с этим стилем должно быть прозрачным. То есть любые окна, которые появляются из-под окна, не затеняются им. Окно, созданное с этим стилем принимает WM_PAINT сообщения только после того, как все сестринские окна под ним модифицировались.
WS_EX_WINDOWEDGE - Определяет, что окно имеет рамку с выпуклым краем.

User_data_Sub - (только для Linux) указатель на процедуру , которая будет вызываться после создания окна, но перед его инициализацией. Формат Callback функции: sub UserSub cdecl (hwnd as Hwnd)

Платформы

Windows , Linux

Пример

#Include "window9.bi"
Var hwnd=OpenWindow("",10,10,100,100)
Var event=0
Do
  event=WaitEvent()
  If Event=EventClose Then End
Loop

Результат

Created with the Personal Edition of HelpNDoc: Free iPhone documentation generator