Hab mir mal die Muehe gemacht und dein Code etwas ueberarbeitet, vielleicht hilfts dir ja.
Code: Alles auswählen
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#Text_0
#Combo_0
#Text_1
#Button_0
#Button_1
#Button_3
#liste
EndEnumeration
InitSprite()
ExamineDesktops()
Global NewList Aufloesungen.s()
Global NewList Tiefe.l()
Global NewList Alle.s()
Procedure Open_Window_0()
If OpenWindow(#Window_0, 242, 46, 610, 310, "Aimer – Start Manager", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
TextGadget(#Text_0, 10, 20, 110, 20, "Auflösung auswählen:")
ComboBoxGadget(#Combo_0, 10, 50, 120, 20)
TextGadget(#Text_1, 210, 20, 110, 20, "Farbtiefe auwählen")
ButtonGadget(#Button_0, 10, 230, 130, 30, "Aimer v1.00 starten")
ButtonGadget(#Button_1, 470, 230, 130, 30, "Beenden")
ButtonGadget(#Button_3, 230, 230, 130, 30, "Speichern ohne beenden")
If ExamineScreenModes()
While NextScreenMode()
AddElement(Alle())
Alle() = Str(ScreenModeWidth())+"x"+Str(ScreenModeHeight())+"x"+Str(ScreenModeDepth())
aufChange = 1
tiefChange = 1
ForEach Aufloesungen()
If Aufloesungen() = Str(ScreenModeWidth())+"x"+Str(ScreenModeHeight())
aufChange = 0
EndIf
Next
If aufChange = 1
AddElement(Aufloesungen())
Aufloesungen() = Str(ScreenModeWidth())+"x"+Str(ScreenModeHeight())
EndIf
ForEach Tiefe()
If Tiefe() = ScreenModeDepth()
tiefChange = 0
EndIf
Next
If tiefChange = 1
AddElement(Tiefe())
Tiefe() = ScreenModeDepth()
EndIf
Wend
EndIf
ForEach Aufloesungen()
AddGadgetItem(#Combo_0, CountGadgetItems(#Combo_0), Aufloesungen())
Next
SetGadgetText(#Combo_0,Str(DesktopWidth(0))+"x"+Str(DesktopHeight(0)))
ListIconGadget(#liste, 210, 40, 400, 140, "Verfuegbare Farbtiefen", 400)
ForEach Tiefe()
AddGadgetItem(#liste, CountGadgetItems(#liste), Str(Tiefe()))
Next
;EndIf
EndIf
EndProcedure
Open_Window_0()
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
End
ElseIf EventID = #PB_Event_Gadget
If EventGadget() = #Button_0
If GetGadgetState(#liste) = -1
MessageRequester("", "Keine Farbtiefe ausgewaehlt!")
Else
verfuegbar = 0
ForEach Alle()
If Alle() = GetGadgetItemText(#Combo_0, GetGadgetState(#Combo_0)) + "x" + GetGadgetItemText(#liste, GetGadgetState(#liste))
verfuegbar = 1
EndIf
Next
If verfuegbar = 0
MessageRequester("", "Ausgewaehlter Modus leider nichtverfuegbar")
Else
Break
EndIf
EndIf
EndIf
EndIf
ForEver
combotext.s = GetGadgetItemText(#Combo_0, GetGadgetState(#Combo_0)) + "x" + GetGadgetItemText(#liste, GetGadgetState(#liste))
Position1 = FindString(combotext, "x", 1)
Position2 = FindString(combotext, "x", Position1+1)
width = Val(Left(combotext, Position1-1))
height = Val(Mid(combotext, Position1+1, Position2 - 1 - Position1))
depth = Val(Right(combotext, Len(combotext) - Position2))
msg.s = "Sie haben folgende Werte ausgewaehlt:" + Chr(10) + Chr(13)
msg + "Breite: " + Str(width) + Chr(10) + Chr(13)
msg + "Hoehe: " + Str(height) + Chr(10) + Chr(13)
msg + "Tiefe: " + Str(depth)
MessageRequester("", msg)