1. beliebiges Gadget1 erstellen
2. beliebiges Gadget2 erstellen
3. SplitterGadget mit den beiden Gadgets erstellen
bis hierher gibt es noch keine Probleme
4. weiteres beliebiges Gadget3 auf der Form erstellen.
Form speichern und wieder laden - oder in Quellcode-Ansicht wechseln und wieder zur FormAnsicht zurück -, und die IDE friert ein.
Offenbar hat der Designer beim Parsen des FormCodes ein Problem, wenn nach dem SplitterGadget weitere Gadgets kommen. Verschiebt man im Quellcode der PBF die Gadgets, die hinter dem Splitter liegen, an den Anfang, dann läßt sich die Form wieder öffnen.
Hier noch ein BeispielsCode: Diese Form kann der Designer nicht mehr öffnen - IDE friert bei mir ein (WinXP).
Code: Alles auswählen
; Form Designer for Purebasic - 5.20
; Warning: this file uses a strict syntax, if you edit it, make sure to respect the Form Designer limitation or it won't be opened again.
Enumeration #PB_Compiler_EnumerationValue
#FormSettings
EndEnumeration
Enumeration #PB_Compiler_EnumerationValue
#Tree_Select
#Container_Main
#Splitter
#Button_OK
#Button_Cancel
EndEnumeration
Declare ResizeGadgetsFormSettings()
Procedure OpenFormSettings(x = 0, y = 0, width = 600, height = 400)
OpenWindow(#FormSettings, x, y, width, height, "", #PB_Window_SystemMenu)
TreeGadget(#Tree_Select, 5, 5, 172, 345)
AddGadgetItem(#Tree_Select, -1, "Grundeinstellungen")
AddGadgetItem(#Tree_Select, -1, "Seite 1", 0, 1)
ContainerGadget(#Container_Main, 186, 5, 409, 345, #PB_Container_Raised)
CloseGadgetList()
SplitterGadget(#Splitter, 5, 5, 590, 345, #Tree_Select, #Container_Main, #PB_Splitter_Vertical)
SetGadgetState(#Splitter, 172)
ButtonGadget(#Button_OK, 360, 360, 90, 25, "OK")
ButtonGadget(#Button_Cancel, 465, 360, 90, 25, "Abbrechen")
EndProcedure
Procedure ResizeGadgetsFormSettings()
Protected WindowWidth, WindowHeight
WindowWidth = WindowWidth(#FormSettings)
WindowHeight = WindowHeight(#FormSettings)
ResizeGadget(#Splitter, 5, 5, WindowWidth - 10, WindowHeight - 55)
ResizeGadget(#Button_OK, WindowWidth - 240, WindowHeight - 40, 90, 25)
ResizeGadget(#Button_Cancel, WindowWidth - 135, WindowHeight - 40, 90, 25)
EndProcedure
Procedure FormSettings_Events(event)
Select event
Case #PB_Event_SizeWindow
ResizeGadgetsFormSettings()
Case #PB_Event_CloseWindow
ProcedureReturn #False
Case #PB_Event_Menu
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
EndSelect
ProcedureReturn #True
EndProcedure