Code: Select all
#XmlEncoding = #PB_UTF8
#Dialog = 0
#Xml = 0
Procedure DrawCanvas()
StartDrawing(CanvasOutput(5))
Box(0, 0, OutputWidth(), OutputHeight(), RGB(0, 0, 255))
StopDrawing()
EndProcedure
Procedure OnResize()
DrawCanvas()
EndProcedure
Procedure OnMaximize()
DrawCanvas()
EndProcedure
XML$ = "<window id='#PB_Any' name='test' text='test' minwidth='auto' minheight='auto' flags='#PB_Window_MaximizeGadget | #PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_SizeGadget'>" +
" <panel>" +
" <tab text='First tab'>" +
" <canvas id='5' width='200' height='100'/>" +
" </tab>" +
" <tab text='Second tab'>" +
" </tab>" +
" </panel>" +
"</window>"
If CatchXML(#Xml, @XML$, StringByteLength(XML$), 0, #XmlEncoding) And XMLStatus(#Xml) = #PB_XML_Success
If CreateDialog(#Dialog) And OpenXMLDialog(#Dialog, #Xml, "test")
BindEvent(#PB_Event_SizeWindow, @OnResize(), DialogWindow(#Dialog), 0)
BindEvent(#PB_Event_MaximizeWindow, @OnMaximize(), DialogWindow(#Dialog), 0)
DrawCanvas()
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
Else
Debug "Dialog error: " + DialogError(#Dialog)
EndIf
Else
Debug "XML error: " + XMLError(#Xml) + " (Line: " + XMLErrorLine(#Xml) + ")"
EndIf