Wenn es nur so wie beim (aber nicht für den) Internet Explorer sein soll hilft Dir vielleicht folgendes Beispiel :
Code: Alles auswählen
;- Enumerations
;
Enumeration
#Window_0
#Tree_Page
#Panel_0
#Button_ControlSplitter
#String_URL
#Button_Path
#Button_FTP
#Button_Sample
#Radio_vbs
#Radio_js
#Editor_Log
#Button_URL
#Button_Log
#Button_go
#Tree_Style
#Button_FunctionSplitter
#Editor_Function
#Editor_FunctionNr
#Button_HTMLSplitter
#Editor_HTML
#Editor_HTMLNr
#Button_PreviewSplitter
#Web_Preview
#Button_HelpSplitter
#Web_Help
EndEnumeration
;- Globals
;
;- Procedures
;
Procedure Open_Window_0()
If OpenWindow(#Window_0, 200, 100, 600, 400, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
If CreateGadgetList(WindowID(#Window_0))
TreeGadget(#Tree_Page, 0, 0, 200, 400)
TreeGadget(#Tree_Style, 0, 0, 200, 400)
;- Panel0
PanelGadget(#Panel_0, 200, 0, 405, 405)
AddGadgetItem(#Panel_0, -1, "Control")
ButtonGadget(#Button_ControlSplitter, 8, 8, 10, 365, "<")
StringGadget(#String_URL, 28, 8, 365, 20, "url", #PB_String_ReadOnly)
ButtonGadget(#Button_Path, 28, 38, 70, 20, "Path")
ButtonGadget(#Button_FTP, 116, 38, 70, 20, "FTP")
ButtonGadget(#Button_Sample, 204, 38, 70, 20, "Sample")
OptionGadget(#Radio_vbs, 38, 73, 140, 25, "vbs")
OptionGadget(#Radio_js, 38, 93, 140, 25, "js")
EditorGadget(#Editor_Log, 28, 133, 365, 200)
ButtonGadget(#Button_URL, 28, 348, 70, 20, "copy URL")
ButtonGadget(#Button_Log, 116, 348, 70, 20, "copy LOG")
ButtonGadget(#Button_go, 318, 348, 70, 20, "Start")
AddGadgetItem(#Panel_0, -1, "Style")
AddGadgetItem(#Panel_0, -1, "Function")
ButtonGadget(#Button_FunctionSplitter, 8, 8, 10, 365, "<")
EditorGadget(#Editor_Function, 68, 8, 325, 365)
EditorGadget(#Editor_FunctionNr, 28, 8, 42, 365)
AddGadgetItem(#Panel_0, -1, "HTML")
ButtonGadget(#Button_HTMLSplitter, 8, 8, 10, 365, "<")
EditorGadget(#Editor_HTML, 68, 8, 325, 365)
EditorGadget(#Editor_HTMLNr, 28, 8, 42, 365)
AddGadgetItem(#Panel_0, -1, "Preview")
ButtonGadget(#Button_PreviewSplitter, 8, 8, 10, 365, "<")
WebGadget(#Web_Preview, 28, 8, 365, 365, "about:blank")
AddGadgetItem(#Panel_0, -1, "Help")
ButtonGadget(#Button_HelpSplitter, 8, 8, 10, 365, "<")
WebGadget(#Web_Help, 28, 8, 365, 365, "about:blank")
CloseGadgetList()
EndIf
EndIf
EndProcedure
Procedure TreeVisibility()
Static TreeVisible=#True, PanelHeight, PanelWidth, PanelX
If TreeVisible
HideGadget(#Tree_Page, #True)
HideGadget(#Tree_Style, #True)
PanelWidth=GadgetWidth(#Panel_0)
PanelHeight=GadgetHeight(#Panel_0)
PanelX=GadgetX(#Panel_0)
ResizeGadget(#Panel_0, PanelX-200, #PB_Ignore, PanelWidth+200, PanelHeight)
SetGadgetText(#Button_ControlSplitter, ">")
SetGadgetText(#Button_FunctionSplitter, ">")
SetGadgetText(#Button_HTMLSplitter, ">")
SetGadgetText(#Button_PreviewSplitter, ">")
SetGadgetText(#Button_HelpSplitter, ">")
SetActiveGadget(#Panel_0)
TreeVisible=#False
Else
ResizeGadget(#Panel_0, PanelX, #PB_Ignore, PanelWidth, PanelHeight)
HideGadget(#Tree_Page, #False)
HideGadget(#Tree_Style, #False)
SetGadgetText(#Button_ControlSplitter, "<")
SetGadgetText(#Button_FunctionSplitter, "<")
SetGadgetText(#Button_HTMLSplitter, "<")
SetGadgetText(#Button_PreviewSplitter, "<")
SetGadgetText(#Button_HelpSplitter, "<")
SetActiveGadget(#Panel_0)
TreeVisible=#True
EndIf
EndProcedure
Open_Window_0()
PureRESIZE_SetWindowMinimumSize(#Window_0, 600, 400)
PureRESIZE_SetGadgetResize(#Tree_Page, #True, #True, #False, #True)
PureRESIZE_SetGadgetResize(#Tree_Style, #True, #True, #False, #True)
PureRESIZE_SetGadgetResize(#Panel_0, #True, #True, #True, #True)
PureRESIZE_SetGadgetResize(#Button_ControlSplitter, #True, #True, #False, #True, #Panel_0)
PureRESIZE_SetGadgetResize(#String_URL, #True, #True, #True, #False, #Panel_0)
PureRESIZE_SetGadgetResize(#Editor_Log, #True, #True, #True, #True, #Panel_0)
PureRESIZE_SetGadgetResize(#Button_URL, #True, #False, #False, #True, #Panel_0)
PureRESIZE_SetGadgetResize(#Button_Log, #True, #False, #False, #True, #Panel_0)
PureRESIZE_SetGadgetResize(#Button_go, #False, #False, #True, #True, #Panel_0)
PureRESIZE_SetGadgetResize(#Button_FunctionSplitter, #True, #True, #False, #True, #Panel_0)
PureRESIZE_SetGadgetResize(#Editor_FunctionNr, #True, #True, #False, #True, #Panel_0)
PureRESIZE_SetGadgetResize(#Editor_Function, #True, #True, #True, #True, #Panel_0)
PureRESIZE_SetGadgetResize(#Button_HTMLSplitter, #True, #True, #False, #True, #Panel_0)
PureRESIZE_SetGadgetResize(#Editor_HTMLNr, #True, #True, #False, #True, #Panel_0)
PureRESIZE_SetGadgetResize(#Editor_HTML, #True, #True, #True, #True, #Panel_0)
PureRESIZE_SetGadgetResize(#Button_PreviewSplitter, #True, #True, #False, #True, #Panel_0)
PureRESIZE_SetGadgetResize(#Web_Preview, #True, #True, #True, #True, #Panel_0)
PureRESIZE_SetGadgetResize(#Button_HelpSplitter, #True, #True, #False, #True, #Panel_0)
PureRESIZE_SetGadgetResize(#Web_Help, #True, #True, #True, #True, #Panel_0)
;- Main
;
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case #Button_ControlSplitter
TreeVisibility()
Case #Button_FunctionSplitter
TreeVisibility()
Case #Button_HTMLSplitter
TreeVisibility()
Case #Button_PreviewSplitter
TreeVisibility()
Case #Button_HelpSplitter
TreeVisibility()
EndSelect
Case #PB_Event_Menu
EndSelect
Until Event = #PB_Event_CloseWindow
) um es laufen zu lassen.
Bitte entschuldige das Moster - ich habe einfach einen meiner Codes verwendet statt extra etwas zu erstellen.
Obwohl ich deshalb hier schon prügel bezogen habe denke ich es ist übersichtlich und nachvollziehbar.