Ihr habt natürlich recht, aber es hätte ja sein können, dass das ein bisschen verbuggt ist (Wie gesagt, mir ist das neu... Sind die Befehle neu?).
Code: Alles auswählen
EnableExplicit
Global.i Breite = 1920, Hoehe = 1080, Event, pruefOffen, arbeitsModus
#Window_Screen = 0
#Menu_0 = 0
Enumeration
#Tree_0
#Container_0
#Panel_0
EndEnumeration
Enumeration
#Item_0
#Item_1
#Item_2
EndEnumeration
Procedure Fehlerbehandlung(Ergebnis.i, Text.s)
If Ergebnis = 0
MessageRequester("Fehler", Text)
End
EndIf
EndProcedure
Procedure Open_Window_Screen()
Fehlerbehandlung(OpenWindow(#Window_Screen, 0, 0, Breite, Hoehe, "Bsp", #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget), "Fenster konnte nicht geöffnet werden.")
Fehlerbehandlung(CreateMenu(#Menu_0, WindowID(#Window_Screen)), "Menü konnte nicht erstellt werden.") ;Menü für die allgemeinen Sachen mit Dateien
MenuTitle("Datei")
MenuItem(#Item_0, "Neu")
MenuItem(#Item_1, "Speichern")
DisableMenuItem(#Menu_0, #Item_1, 1) ;Speichern ist zu Anfang disabled
MenuItem(#Item_2, "Laden")
Fehlerbehandlung(TreeGadget(#Tree_0, Breite - 190, 10, 180, Hoehe - 500, #PB_Tree_AlwaysShowSelection), "TreeGadget konnte nicht erstellt werden.")
AddGadgetItem(#Tree_0, -1, "Nichts")
AddGadgetItem(#Tree_0, -1, "Gelände erhöhen/absenken")
;DisableGadget(#Tree_0, 1)
Fehlerbehandlung(OpenWindowedScreen(WindowID(#Window_Screen), 10, 10, Breite, Hoehe, #True, 200, 10, #PB_Screen_SmartSynchronization), "Screen konnte nicht erstellt werden.")
Fehlerbehandlung(ContainerGadget(#Container_0, Breite - 190, Hoehe - 500 + 20, 180, 420, #PB_Container_Single), "Containergadget konnte nicht erstellt werden.")
CloseGadgetList()
EndProcedure
;Fehlerbehandlung(InitEngine3D(), "Die OGRE-Engine konnte nicht initialisiert werden!")
Fehlerbehandlung(InitSprite(), "DirectX konnte nicht initialisiert werden!")
;Fehlerbehandlung(InitKeyboard(), "Es wurde keine Tastatur gefunden!")
Open_Window_Screen()
Repeat
Event = WindowEvent()
Select Event
Case 0 ;-später weg
Delay(5)
Case #PB_Event_CloseWindow
Select GetActiveWindow()
Case #Window_Screen
If pruefOffen
Debug "tralala"
Else
End
EndIf
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case #Tree_0
arbeitsModus = GetGadgetState(#Tree_0)
Select arbeitsmodus
Case 1
;FreeGadget(#Container_0)
;Fehlerbehandlung(ContainerGadget(#Container_0, Breite - 190, Hoehe - 500 + 20, 180, 420, #PB_Container_Single), "Containergadget konnte nicht erstellt werden.")
Debug "2"
OpenGadgetList(#Container_0)
Fehlerbehandlung(PanelGadget(#Panel_0, Breite - 190, Hoehe - 500 + 20, 180, 420), "Konnte PanelGadget nicht erstellen.")
AddGadgetItem(#Panel_0, -1, "Punktuell")
AddGadgetItem(#Panel_0, -1, "Delta")
AddGadgetItem(#Panel_0, -1, "Limit")
AddGadgetItem(#Panel_0, -1, "Smooth")
CloseGadgetList()
CloseGadgetList()
EndSelect
EndSelect
EndSelect
ForEver
Der Code ist extrem gekürzt. Hier tritt aber der selbe Fehler auf. Macht man OpenGadgetlist() weg, wird es gezeichnet, klar. Ganz normal... (Gibt es sowas wie Repaint()?).