MDIGadget

Gadget ›› MDI ››
Parent Previous Next

MDIGadget

Синтаксис

Function MDIGadget(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) As HWND

Описание

Создает MDI окно

Параметры

sName - заголовок MDI окна

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

Style - Стиль MDI окна; возможные:

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_HSCROLL - Создает окно, которое имеет горизонтальную линейку прокрутки.
WS_ICONIC - Создает окно, которое первоначально свернуто. Тот же самый стиль, что и WS_MINIMIZE.
WS_MAXIMIZE - Создает окно, которое первоначально развернуто.
WS_MAXIMIZEBOX - Создает окно, которое имеет кнопку Развернуть (Maximize). Не может быть объединен со стилем WS_EX_CONTEXTHELP. К тому же должен быть определен стиль WS_SYSMENU.
WS_MINIMIZE - Создает окно, которое первоначально свернуто. Тот же самый стиль, что и WS_ICONIC.
WS_MINIMIZEBOX - Создает окно, которое имеет кнопку Свернуть (Minimize). Не может быть объединен со стилем WS_EX_CONTEXTHELP. К тому же должен быть определен стиль WS_SYSMENU.
WS_OVERLAPPED - Создает перекрывающее окно. Перекрывающее окно имеет строку заголовка и рамку. Тот же самый стиль, что и WS_TILED.
WS_OVERLAPPEDWINDOW - Создает перекрывающее окно со стилями WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX и WS_MAXIMIZEBOX. Тот же самый, что и стиль WS_TILEDWINDOW.
WS_POPUP - Создает выскакивающее окно. Этот стиль не может использоваться со стилем WS_CHILD.
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.
WS_VISIBLE - Создает окно, которое является первоначально видимым.
WS_VSCROLL - Создает окно, которое имеет вертикальную линейку прокрутки.

Платформы

Windows

Пример (со списком окон в меню)

#Include "window9.bi"
Dim As HWND mdi1,mdi2
Dim As HMENU hMessages,MenName
Dim As Integer event
OpenWindow("",10,10,400,400)
hMessages=Create_Menu()
MenName=MenuTitle(hMessages,"MDI")
ClientMDIGadget(MenName,100)
mdi1=MDIGadget("MDI1",10,10,200,200):WindowColor(mdi1,&h6405A3)
mdi2=MDIGadget("MDI2",100,10,200,200):WindowColor(mdi2,&h498721)
Do
  event=WaitEvent
  If event=EventClose Then End
Loop

Результат

Пример (без списка окон)

#Include "window9.bi"
Dim As HWND mdi1,mdi2
Dim As HMENU hMessages,MenName
Dim As Integer event
OpenWindow("",10,10,400,400)
hMessages=Create_Menu()
MenName=MenuTitle(hMessages,"MDI")
ClientMDIGadget(0,0)
mdi1=MDIGadget("MDI1",10,10,200,200):WindowColor(mdi1,&h6405A3)
mdi2=MDIGadget("MDI2",100,10,200,200):WindowColor(mdi2,&h498721)
Do
  event=WaitEvent
  If event=EventClose Then End
Loop

Результат

Пример (MDI с гаджетом)

#Include "window9.bi"
Dim As HWND mdi1,mdi2,clientmdi
Dim As HMENU hMessages,MenName
Dim As Integer event
OpenWindow("",10,10,400,400)
hMessages=Create_Menu()
MenName=MenuTitle(hMessages,"MDI")
clientmdi=ClientMDIGadget(0,0)
mdi1=MDIGadget("MDI1",10,10,200,200):WindowColor(mdi1,&h6405A3)
UseGadgetList(mdi1)
ButtonGadget(1,10,10,100,30,"Button")
UseGadgetList(clientmdi)
mdi2=MDIGadget("MDI2",100,10,200,200):WindowColor(mdi2,&h498721)
Do
  event=WaitEvent
  If event=EventClose Then
     If EventHwnd=mdi1 Then
        Close_Window(mdi1)
     ElseIf EventHwnd=mdi2 Then
        Close_Window(mdi2)
     Else
        end
     EndIf
  EndIf
  If event=eventgadget Then
     If EventNumber=1 Then
        end
     EndIf
  EndIf
Loop

Результат

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation