MDIGadget "real world" example
MDIGadget "real world" example
Hi guys ,
Sorry about my newbie question but anyway ...
I would like to see a "real world" app with mdigadget
For instance a main app with a menu items that will record app users, holidays and clients.
When i click a particular menu item then addgadgetitem with gadgets of this "window" and when close a particular "window" just removegadget not close main whole app.
How can i organize gadgets cascade , tile ... ?
How can i detect which "window" am i clicking ?
Any ideas ?
Sorry about my newbie question but anyway ...
I would like to see a "real world" app with mdigadget
For instance a main app with a menu items that will record app users, holidays and clients.
When i click a particular menu item then addgadgetitem with gadgets of this "window" and when close a particular "window" just removegadget not close main whole app.
How can i organize gadgets cascade , tile ... ?
How can i detect which "window" am i clicking ?
Any ideas ?
- Fluid Byte
- Addict
- Posts: 2336
- Joined: Fri Jul 21, 2006 4:41 am
- Location: Berlin, Germany
Re: MDIGadget "real world" example
Great, happy coding then!Pelluso wrote:I would like to see a "real world" app with mdigadget

RTFM.Pelluso wrote:How can i organize gadgets cascade , tile ... ?
Clicking where? Titlebar? Min-/Maxbutton? Sizeframe?Pelluso wrote:How can i detect which "window" am i clicking ?
Windows 10 Pro, 64-Bit / Whose Hoff is it anyway?
- Fluid Byte
- Addict
- Posts: 2336
- Joined: Fri Jul 21, 2006 4:41 am
- Location: Berlin, Germany
Why the heck you removed your post? I was reading it and adapted your code. Whatever, acutally all you need is the MDI example in the manual (if you would have read it) to modfiy your code acordingly:
Code: Select all
Enumeration
#Window_0
#MDIChild1
#MDIChild2
#MDIChild3
EndEnumeration
Enumeration
#MDiGadget
#Button01
#Button02
#Button03
EndEnumeration
Enumeration
#MenuBar_0
EndEnumeration
Enumeration
#MenuItem_0
#MenuItem_1
#MenuItem_2
#MenuItem_3
#MenuItem_4
#MenuItem_5
#MenuItem_6
#MenuItem_7
#MenuItem_8
#MenuItem_9
#MenuItem_10
#MenuItem_11
#MenuItem_12
#MenuItem_13
#MenuItem_14
#MenuItem_15
#MenuItem_16
#MenuItem_17
#MenuItem_18
#MenuItem_19
#MenuItem_20
#MenuItem_21
#MenuItem_22
#MenuItem_23
#MenuItem_24
#MenuItem_25
#MenuItem_26
#MenuItem_27
#MenuItem_28
#MenuItem_29
#MenuItem_30
#MenuItem_31
#MenuItem_32
EndEnumeration
OpenWindow(#Window_0,0,0,800,600,"Sistema Gerencial Clio",#PB_Window_ScreenCentered | #PB_Window_MinimizeGadget | #PB_Window_Invisible)
CreateMenu(#MenuBar_0, WindowID(#Window_0))
MenuTitle("&Cadastro")
MenuItem(#MenuItem_0, "&Clientes")
MenuItem(#MenuItem_1, "&Fornecedores")
MenuItem(#MenuItem_2, "&Produtos")
MenuItem(#MenuItem_3, "&Bancos")
MenuItem(#MenuItem_4, "&Plano de Contas")
MenuItem(#MenuItem_5, "&Históricos")
MenuItem(#MenuItem_6, "&Indexadores")
MenuItem(#MenuItem_7, "Feria&dos")
MenuItem(#MenuItem_8, "&Vendedores")
MenuTitle("&Lançamentos")
MenuItem(#MenuItem_9, "Bancos")
MenuItem(#MenuItem_10, "Contas a &Pagar")
MenuItem(#MenuItem_11, "Contas a &Receber")
MenuBar()
MenuItem(#MenuItem_12, "&Aplicações")
MenuItem(#MenuItem_13, "&Cartões")
MenuItem(#MenuItem_14, "&Livro Caixa")
MenuBar()
MenuItem(#MenuItem_15, "&Ordens de Compra")
MenuItem(#MenuItem_16, "Pe&didos")
MenuItem(#MenuItem_17, "&Emissão de Nota Fiscal")
MenuBar()
MenuItem(#MenuItem_18, "Conciliação &Bancária")
MenuTitle("&Business Intelligence")
MenuTitle("&Relatórios")
MenuTitle("Módulo de &Segurança")
MenuItem(#MenuItem_19, "&Usuários")
MenuItem(#MenuItem_20, "&Grupos de Usuários")
MenuItem(#MenuItem_21, "&Objetos")
MenuItem(#MenuItem_22, "&Permissões")
MenuBar()
MenuItem(#MenuItem_23, "&Criptografia")
MenuTitle("Módulo de &Manutenção")
MenuItem(#MenuItem_24, "&Parâmetros do Sistema")
MenuBar()
MenuItem(#MenuItem_25, "&Importação ...")
MenuItem(#MenuItem_26, "&Exportação ...")
MenuBar()
MenuItem(#MenuItem_27, "&Log de Operações")
MenuTitle("&Ajuda")
MenuItem(#MenuItem_28, "&Ajuda ...")
MenuBar()
MenuItem(#MenuItem_29, "&Sobre a Aplicação")
MenuTitle("&Windows")
MenuItem(#MenuItem_30, "Cascade")
MenuItem(#MenuItem_31, "Vert Tile")
MenuItem(#MenuItem_32, "Horz Tile")
CreateGadgetList(WindowID(#Window_0))
MDIGadget(#MDiGadget,0,0,0,0,7,#MenuItem_32 + 1,#PB_MDI_AutoSize)
AddGadgetItem(#MDiGadget,#MDIChild1,"untitled1")
AddGadgetItem(#MDiGadget,#MDIChild2,"untitled2")
AddGadgetItem(#MDiGadget,#MDIChild3,"untitled3")
CreateGadgetList(WindowID(#MDIChild3))
ButtonGadget(#Button01,10,10,200,25,"untitled #1")
ButtonGadget(#Button02,10,50,200,25,"untitled #2")
ButtonGadget(#Button03,10,90,200,25,"untitled #3")
UseGadgetList(WindowID(#Window_0))
HideWindow(#Window_0,0)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Menu
Select EventMenu()
Case #MenuItem_30 : SetGadgetState(#MDiGadget,#PB_MDI_Cascade)
Case #MenuItem_31 : SetGadgetState(#MDiGadget,#PB_MDI_TileVertically)
Case #MenuItem_32 : SetGadgetState(#MDiGadget,#PB_MDI_TileHorizontally)
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
Windows 10 Pro, 64-Bit / Whose Hoff is it anyway?
@Fluidbyte, Like you I had a quick look, went to make an example up, came back for another look & post gggooone...
anyway, just modded Fluidbytes main loop to show closing windows, not that it really matters.
anyway, just modded Fluidbytes main loop to show closing windows, not that it really matters.
Code: Select all
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Menu
Select EventMenu()
Case #MenuItem_30 : SetGadgetState(#MDiGadget,#PB_MDI_Cascade)
Case #MenuItem_31 : SetGadgetState(#MDiGadget,#PB_MDI_TileVertically)
Case #MenuItem_32 : SetGadgetState(#MDiGadget,#PB_MDI_TileHorizontally)
EndSelect
EndIf
If EventID = #PB_Event_CloseWindow
Select EventWindow()
Case #Window_0
Quit=1
Case #MDIChild1
CloseWindow(#MDIChild1)
Case #MDIChild2
CloseWindow(#MDIChild2)
Case #MDIChild3
CloseWindow(#MDIChild3)
EndSelect
EndIf
Until Quit
- Fluid Byte
- Addict
- Posts: 2336
- Joined: Fri Jul 21, 2006 4:41 am
- Location: Berlin, Germany
Yeah, I forgot the closing thingy. Thanks for adding. 

Windows 10 Pro, 64-Bit / Whose Hoff is it anyway?
Many Thanks ,
I apreciate your help , but please no RTFM
Another question how can i set width and height of the "child window" ?
I have already remove resize and maximize button with this
Thank you all again !
I apreciate your help , but please no RTFM

Another question how can i set width and height of the "child window" ?
I have already remove resize and maximize button with this
Code: Select all
wHnd = AddGadgetItem(#MDIGadget,#Historicos,"Históricos")
SetWindowLong_( wHnd, #GWL_STYLE, GetWindowLong_(wHnd, #GWL_STYLE) & ~(#WS_SIZEBOX|#WS_MAXIMIZEBOX) )
I got a tip from Srod and removed this line
and changed this
by this
Ok and now how can i set width and height of a child ?
Code: Select all
SetWindowLong_( wHnd, #GWL_STYLE, GetWindowLong_(wHnd, #GWL_STYLE) & ~(#WS_SIZEBOX|#WS_MAXIMIZEBOX) )
Code: Select all
AddGadgetItem(#MDIGadget,#Historicos,"Históricos")
Code: Select all
AddGadgetItem(#MDIGadget,#Historicos,"Históricos",0,#PB_Window_MinimizeGadget|#PB_Window_BorderLess)
- netmaestro
- PureBasic Bullfrog
- Posts: 8451
- Joined: Wed Jul 06, 2005 5:42 am
- Location: Fort Nelson, BC, Canada
Netmaestro ,
Could you explain why child window flicks if i set it invisible ?
Could you explain why child window flicks if i set it invisible ?
Code: Select all
Enumeration
#Window_0
EndEnumeration
Enumeration
#MDIGadget
#Historicos
EndEnumeration
If OpenWindow(#Window_0, 0, 0, 800, 600, "" )
If CreateGadgetList(WindowID(#Window_0))
MDIGadget(#MDIGadget,0,0,0,0,7,1,#PB_MDI_AutoSize)
AddGadgetItem(#MDIGadget,#Historicos,"Históricos",0,#PB_Window_MinimizeGadget|#PB_Window_BorderLess|#PB_Window_Invisible)
EndIf
Repeat
EventID = WaitWindowEvent()
Until EventID = #WM_CLOSE
EndIf
I think the child window is created first and then it's styles are updated. Easy to workaround though :
Code: Select all
Enumeration
#Window_0
EndEnumeration
Enumeration
#MDIGadget
#Historicos
EndEnumeration
If OpenWindow(#Window_0, 0, 0, 800, 600, "",#PB_Window_Invisible|#PB_Window_SystemMenu)
If CreateGadgetList(WindowID(#Window_0))
MDIGadget(#MDIGadget,0,0,0,0,7,1,#PB_MDI_AutoSize)
AddGadgetItem(#MDIGadget,#Historicos,"Históricos",0,#PB_Window_MinimizeGadget|#PB_Window_BorderLess|#PB_Window_Invisible)
EndIf
HideWindow(#Window_0,0)
Repeat
EventID = WaitWindowEvent()
Until EventID = #WM_CLOSE
EndIf
I may look like a mule, but I'm not a complete ass.
I think it flickers because of the reason I gave above.
Another way around the problem then :
Another way around the problem then :
Code: Select all
Enumeration
#Window_0
EndEnumeration
Enumeration
#MDIGadget
#Historicos
EndEnumeration
If OpenWindow(#Window_0, 0, 0, 800, 600, "")
SendMessage_(WindowID(0), #WM_SETREDRAW,0,0)
If CreateGadgetList(WindowID(#Window_0))
MDIGadget(#MDIGadget,0,0,0,0,7,1,#PB_MDI_AutoSize)
AddGadgetItem(#MDIGadget,#Historicos,"Históricos",0,#PB_Window_MinimizeGadget|#PB_Window_BorderLess|#PB_Window_Invisible)
EndIf
SendMessage_(WindowID(0), #WM_SETREDRAW,1,0)
InvalidateRect_(WindowID(0),0,1)
Repeat
EventID = WaitWindowEvent()
Until EventID = #WM_CLOSE
EndIf
I may look like a mule, but I'm not a complete ass.
Did not worked !
That a look !
Click Cadastro->Históricos
That a look !
Click Cadastro->Históricos
Code: Select all
Enumeration
#Window_0
EndEnumeration
Enumeration #PB_Compiler_EnumerationValue
#MenuBar_0
EndEnumeration
Enumeration #PB_Compiler_EnumerationValue
#MenuItem_0
#MenuItem_1
#MenuItem_2
#MenuItem_3
#MenuItem_4
#MenuItem_5
#MenuItem_6
#MenuItem_7
#MenuItem_8
#MenuItem_9
#MenuItem_10
#MenuItem_11
#MenuItem_12
#MenuItem_13
#MenuItem_14
#MenuItem_15
#MenuItem_16
#MenuItem_17
#MenuItem_18
#MenuItem_19
#MenuItem_20
#MenuItem_21
#MenuItem_22
#MenuItem_23
#MenuItem_24
#MenuItem_25
#MenuItem_26
#MenuItem_27
#MenuItem_28
#MenuItem_29
#MenuItem_30
#MenuItem_31
#MenuItem_32
EndEnumeration
Enumeration #PB_Compiler_EnumerationValue
#MDIGadget
#Clientes
#Fornecedores
#Produtos
#Bancos
#PlanoDeContas
#Historicos
#Indexadores
#Feriados
#Vendedores
EndEnumeration
Enumeration #PB_Compiler_EnumerationValue
#Escape_Key
EndEnumeration
Procedure JanelaHistoricos()
AddGadgetItem(#MDIGadget,#Historicos,"Históricos",0,#PB_Window_Invisible|#PB_Window_MinimizeGadget|#PB_Window_BorderLess)
ResizeWindow(#Historicos,#PB_Ignore,#PB_Ignore,400,200)
HideWindow(#Historicos,0)
EndProcedure
If OpenWindow(#Window_0, 0, 0, 800, 600, "Sistema Gerencial Clio",#PB_Window_ScreenCentered|#PB_Window_MinimizeGadget|#PB_Window_Invisible)
AddKeyboardShortcut(#Window_0, #PB_Shortcut_Escape, #Escape_Key)
If CreateMenu(#MenuBar_0, WindowID(#Window_0))
MenuTitle("&Cadastro")
MenuItem(#MenuItem_0, "&Clientes")
MenuItem(#MenuItem_1, "&Fornecedores")
MenuItem(#MenuItem_2, "&Produtos")
MenuItem(#MenuItem_3, "&Bancos")
MenuItem(#MenuItem_4, "&Plano de Contas")
MenuItem(#MenuItem_5, "&Históricos")
MenuItem(#MenuItem_6, "&Indexadores")
MenuItem(#MenuItem_7, "Feria&dos")
MenuItem(#MenuItem_8, "&Vendedores")
MenuTitle("&Lançamentos")
MenuItem(#MenuItem_9, "Bancos")
MenuItem(#MenuItem_10, "Contas a &Pagar")
MenuItem(#MenuItem_11, "Contas a &Receber")
MenuBar()
MenuItem(#MenuItem_12, "&Aplicações")
MenuItem(#MenuItem_13, "&Cartões")
MenuItem(#MenuItem_14, "&Livro Caixa")
MenuBar()
MenuItem(#MenuItem_15, "&Ordens de Compra")
MenuItem(#MenuItem_16, "Pe&didos")
MenuItem(#MenuItem_17, "&Emissão de Nota Fiscal")
MenuBar()
MenuItem(#MenuItem_18, "Conciliação &Bancária")
MenuTitle("&Business Intelligence")
MenuTitle("&Relatórios")
MenuTitle("Módulo de &Segurança")
MenuItem(#MenuItem_19, "&Usuários")
MenuItem(#MenuItem_20, "&Grupos de Usuários")
MenuItem(#MenuItem_21, "&Objetos")
MenuItem(#MenuItem_22, "&Permissões")
MenuBar()
MenuItem(#MenuItem_23, "&Criptografia")
MenuTitle("Módulo de &Manutenção")
MenuItem(#MenuItem_24, "&Parâmetros do Sistema")
MenuBar()
MenuItem(#MenuItem_25, "&Importação ...")
MenuItem(#MenuItem_26, "&Exportação ...")
MenuBar()
MenuItem(#MenuItem_27, "&Log de Operações")
MenuTitle("&Janelas")
MenuItem(#MenuItem_28, "&Cascata")
MenuItem(#MenuItem_29, "&Vertical")
MenuItem(#MenuItem_30, "&Horizontal")
MenuTitle("&Ajuda")
MenuItem(#MenuItem_31, "&Ajuda ...")
MenuBar()
MenuItem(#MenuItem_32, "&Sobre a Aplicação")
EndIf
If CreateGadgetList(WindowID(#Window_0))
MDIGadget(#MDIGadget,0,0,0,0,7,#MenuItem_32 + 1,#PB_MDI_AutoSize)
EndIf
HideWindow(#Window_0,0)
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Menu
Select EventMenu()
Case #MenuItem_0 : AddGadgetItem(#MDIGadget,#Clientes,"Clientes")
Case #MenuItem_1 : AddGadgetItem(#MDIGadget,#Fornecedores,"Fornecedores")
Case #MenuItem_2 : AddGadgetItem(#MDIGadget,#Produtos,"Produtos")
Case #MenuItem_3 : AddGadgetItem(#MDIGadget,#Bancos,"Bancos")
Case #MenuItem_4 : AddGadgetItem(#MDIGadget,#PlanoDeContas,"Plano de Contas")
Case #MenuItem_5 : JanelaHistoricos()
Case #MenuItem_6 : AddGadgetItem(#MDIGadget,#Indexadores,"Indexadores")
Case #MenuItem_7 : AddGadgetItem(#MDIGadget,#Feriados,"Feriados")
Case #MenuItem_8 : AddGadgetItem(#MDIGadget,#Vendedores,"Vendedores")
Case #MenuItem_28: SetGadgetState(#MDIGadget,#PB_MDI_Cascade)
Case #MenuItem_29: SetGadgetState(#MDIGadget,#PB_MDI_TileVertically)
Case #MenuItem_30: SetGadgetState(#MDIGadget,#PB_MDI_TileHorizontally)
Case #Escape_Key : Quit = 1
EndSelect
Case #PB_Event_CloseWindow
If EventWindow() = #Window_0
Quit = 1
Else
CloseWindow(EventWindow())
EndIf
EndSelect
If Quit
If MessageRequester("Atenção","Deseja finalizar ?",#PB_MessageRequester_YesNo | #MB_DEFBUTTON2) = #PB_MessageRequester_No
Quit = 0
EndIf
EndIf
Until Quit
EndIf
Think this should answer most of your questions.
Edit: Added sendmessage to help stop the flickering
Code: Select all
#Child_Flags=#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget
Enumeration
#Window_0
#MDIChildStart
#MDIChild1
#MDIChild2
#MDIChild3
#MDIChildEnd
EndEnumeration
Enumeration
#MDiGadget
#Button01
#Button02
#Button03
#ListIcon_Child1
EndEnumeration
Enumeration
#MenuBar_0
EndEnumeration
Enumeration
#MenuItem_0
#MenuItem_1
#MenuItem_2
#MenuItem_3
#MenuItem_4
#MenuItem_5
#MenuItem_6
#MenuItem_7
#MenuItem_8
#MenuItem_9
#MenuItem_10
#MenuItem_11
#MenuItem_12
#MenuItem_13
#MenuItem_14
#MenuItem_15
#MenuItem_16
#MenuItem_17
#MenuItem_18
#MenuItem_19
#MenuItem_20
#MenuItem_21
#MenuItem_22
#MenuItem_23
#MenuItem_24
#MenuItem_25
#MenuItem_26
#MenuItem_27
#MenuItem_28
#MenuItem_29
#MenuItem_30
#MenuItem_31
#MenuItem_32
EndEnumeration
Procedure Is_ChildMaximized()
a.l=#MDIChildStart
Repeat
a+1
If IsWindow(a)
If GetWindowState(a)=#PB_Window_Maximize
Result.l=1
EndIf
EndIf
Until a=>#MDIChildEnd Or Result
ProcedureReturn Result
EndProcedure
Procedure Open_WinMdi3()
If IsWindow(#MDIChild3)=0
Is_Max.l=Is_ChildMaximized()
SendMessage_(WindowID(#Window_0), #WM_SETREDRAW,0,0)
If AddGadgetItem(#MDiGadget,#MDIChild3,"Child 3",#Child_Flags)
HideWindow(#MDIChild3,1)
SendMessage_(WindowID(#Window_0), #WM_SETREDRAW,1,0)
ResizeWindow(#MDIChild3,40,40,450,400)
If CreateGadgetList(WindowID(#MDIChild3))
;gadgets
EndIf
If Is_Max
SetWindowState(#MDIChild3,#PB_Window_Maximize)
EndIf
HideWindow(#MDIChild3,0)
SmartWindowRefresh(#MDIChild3,1)
Else
SendMessage_(WindowID(#Window_0), #WM_SETREDRAW,1,0)
EndIf
EndIf
ProcedureReturn Result
EndProcedure
Procedure Open_WinMdi2()
If IsWindow(#MDIChild2)=0
Is_Max.l=Is_ChildMaximized()
SendMessage_(WindowID(#Window_0), #WM_SETREDRAW,0,0)
If AddGadgetItem(#MDiGadget,#MDIChild2,"Child 2",#Child_Flags)
HideWindow(#MDIChild2,1)
SendMessage_(WindowID(#Window_0), #WM_SETREDRAW,1,0)
ResizeWindow(#MDIChild2,20,20,510,400)
If CreateGadgetList(WindowID(#MDIChild2))
;gadgets
EndIf
If Is_Max
SetWindowState(#MDIChild2,#PB_Window_Maximize)
EndIf
HideWindow(#MDIChild2,0)
SmartWindowRefresh(#MDIChild2,1)
Else
SendMessage_(WindowID(#Window_0), #WM_SETREDRAW,1,0)
EndIf
EndIf
ProcedureReturn Result
EndProcedure
Procedure Open_WinMdi1()
If IsWindow(#MDIChild1)=0
Is_Max.l=Is_ChildMaximized()
SendMessage_(WindowID(#Window_0), #WM_SETREDRAW,0,0)
If AddGadgetItem(#MDiGadget,#MDIChild1,"Child 1",#Child_Flags)
HideWindow(#MDIChild1,1)
SendMessage_(WindowID(#Window_0), #WM_SETREDRAW,1,0)
w.l=700:h.l=450
ResizeWindow(#MDIChild1,10,10,w,h)
If CreateGadgetList(WindowID(#MDIChild1))
ListIconGadget(#ListIcon_Child1,10,10,w-20,h-30,"ID",50,#PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect)
AddGadgetColumn(#ListIcon_Child1,1,"Supplier",75)
AddGadgetColumn(#ListIcon_Child1,2,"Supplier Part",75)
AddGadgetColumn(#ListIcon_Child1,3,"Local Part",75)
AddGadgetColumn(#ListIcon_Child1,4,"Description",600)
AddGadgetColumn(#ListIcon_Child1,5,"Total Stock",75)
Result.l=1
EndIf
If Is_Max
SetWindowState(#MDIChild1,#PB_Window_Maximize)
EndIf
HideWindow(#MDIChild1,0)
SmartWindowRefresh(#MDIChild1,1)
Else
SendMessage_(WindowID(#Window_0), #WM_SETREDRAW,1,0)
EndIf
ProcedureReturn Result
EndIf
EndProcedure
Procedure Open_Window_Main()
OpenWindow(#Window_0,0,0,800,600,"Sistema Gerencial Clio",#PB_Window_ScreenCentered|#PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget | #PB_Window_Invisible)
CreateMenu(#MenuBar_0, WindowID(#Window_0))
MenuTitle("&Cadastro")
MenuItem(#MenuItem_0, "&Clientes")
MenuItem(#MenuItem_1, "&Fornecedores")
MenuItem(#MenuItem_2, "&Produtos")
MenuItem(#MenuItem_3, "&Bancos")
MenuItem(#MenuItem_4, "&Plano de Contas")
MenuItem(#MenuItem_5, "&Históricos")
MenuItem(#MenuItem_6, "&Indexadores")
MenuItem(#MenuItem_7, "Feria&dos")
MenuItem(#MenuItem_8, "&Vendedores")
MenuTitle("&Lançamentos")
MenuItem(#MenuItem_9, "Bancos")
MenuItem(#MenuItem_10, "Contas a &Pagar")
MenuItem(#MenuItem_11, "Contas a &Receber")
MenuBar()
MenuItem(#MenuItem_12, "&Aplicações")
MenuItem(#MenuItem_13, "&Cartões")
MenuItem(#MenuItem_14, "&Livro Caixa")
MenuBar()
MenuItem(#MenuItem_15, "&Ordens de Compra")
MenuItem(#MenuItem_16, "Pe&didos")
MenuItem(#MenuItem_17, "&Emissão de Nota Fiscal")
MenuBar()
MenuItem(#MenuItem_18, "Conciliação &Bancária")
MenuTitle("&Business Intelligence")
MenuTitle("&Relatórios")
MenuTitle("Módulo de &Segurança")
MenuItem(#MenuItem_19, "&Usuários")
MenuItem(#MenuItem_20, "&Grupos de Usuários")
MenuItem(#MenuItem_21, "&Objetos")
MenuItem(#MenuItem_22, "&Permissões")
MenuBar()
MenuItem(#MenuItem_23, "&Criptografia")
MenuTitle("Módulo de &Manutenção")
MenuItem(#MenuItem_24, "&Parâmetros do Sistema")
MenuBar()
MenuItem(#MenuItem_25, "&Importação ...")
MenuItem(#MenuItem_26, "&Exportação ...")
MenuBar()
MenuItem(#MenuItem_27, "&Log de Operações")
MenuTitle("&Ajuda")
MenuItem(#MenuItem_28, "&Ajuda ...")
MenuBar()
MenuItem(#MenuItem_29, "&Sobre a Aplicação")
MenuTitle("&Windows")
MenuItem(#MenuItem_30, "Cascade")
MenuItem(#MenuItem_31, "Vert Tile")
MenuItem(#MenuItem_32, "Horz Tile")
CreateGadgetList(WindowID(#Window_0))
MDIGadget(#MDiGadget,0,0,0,0,7,#MenuItem_32 + 1,#PB_MDI_AutoSize)
HideWindow(#Window_0,0)
ProcedureReturn 1
EndProcedure
Open_Window_Main()
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Menu
Select EventMenu()
Case #MenuItem_0
If Open_WinMdi1()=0
SetGadgetState(#MDiGadget,#MDIChild1)
EndIf
Case #MenuItem_1
If Open_WinMdi2()=0
SetGadgetState(#MDiGadget,#MDIChild2)
EndIf
Case #MenuItem_2
If Open_WinMdi3()=0
SetGadgetState(#MDiGadget,#MDIChild3)
EndIf
Case #MenuItem_30 : SetGadgetState(#MDiGadget,#PB_MDI_Cascade)
Case #MenuItem_31 : SetGadgetState(#MDiGadget,#PB_MDI_TileVertically)
Case #MenuItem_32 : SetGadgetState(#MDiGadget,#PB_MDI_TileHorizontally)
EndSelect
EndIf
If EventID = #PB_Event_CloseWindow
Select EventWindow()
Case #Window_0
Quit=1
Case #MDIChild1
CloseWindow(#MDIChild1)
Case #MDIChild2
CloseWindow(#MDIChild2)
Case #MDIChild3
CloseWindow(#MDIChild3)
EndSelect
EndIf
If EventID=#PB_Event_SizeWindow
Select EventWindow()
Case #MDIChild1
ResizeGadget(#ListIcon_Child1,#PB_Ignore,#PB_Ignore,WindowWidth(#MDIChild1)-20,WindowHeight(#MDIChild1)-30)
EndSelect
EndIf
Until Quit
Last edited by Baldrick on Thu Mar 06, 2008 4:00 am, edited 1 time in total.