ich stehe gerade auf dem Schlauch. Hab schon wieder zu lange Codingpause gemacht.
Habe hier ein kleines Fenster, einen Requester der eine ComboBox beinhaltet. Diese hat zur Auswahl, FensterGröße in Pixel:
Global x1 = 1280, y1 = 720
Global x2 = 1920, y2 = 1080
Global x3 = 2560, y3 = 1440
Global x4 = 3840, y4 = 2160
nun hab ich leider Hohl in Denkmasse wie ich den Wert in mein eigentliches Fenster übergeben kann? Mit 2 separaten Feldern(text oder string) zb eins für "X" und eins für "Y" ist es kein Ding. Das klappt.
Wie aber mache ich das mit einem Combo?
hier mal ein schnelles Beispiel:
Code: Alles auswählen
Enumeration 0 ; Windows
#Window
#Wnd_Requester
EndEnumeration
Enumeration 0 ; Gadgets
#OGL_Gadget
#ComboBox
#Btn_Run
#Fnt_SegoeUI12
EndEnumeration
;;Screen Resolution
Global x1 = 1280, y1 = 720
Global x2 = 1920, y2 = 1080
Global x3 = 2560, y3 = 1440
Global x4 = 3840, y4 = 2160
Define ResolutionX, ResolutionY
LoadFont(#Fnt_SegoeUI12, "Segoe Ui", 12, #PB_Font_HighQuality)
Procedure Create_Res_Requester()
OpenWindow(#Wnd_Requester, 0, 0, 400, 250, "ComboBoxGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ComboBoxGadget(#ComboBox, WindowWidth(#Wnd_Requester)/4.5, 70, 220, 30)
SetGadgetFont(#ComboBox, FontID(#Fnt_SegoeUI12))
AddGadgetItem(#ComboBox, -1, "Resolution " + Str(x1) +" x "+ Str(y1))
AddGadgetItem(#ComboBox, -1, "Resolution " + Str(x2) +" x "+ Str(y2))
AddGadgetItem(#ComboBox, -1, "Resolution " + Str(x3) +" x "+ Str(y3))
AddGadgetItem(#ComboBox, -1, "Resolution " + Str(x4) +" x "+ Str(y4))
SetGadgetState(#ComboBox, 0) ; den ersten Eintrag als aktiv setzen
ButtonGadget(#Btn_Run, WindowWidth(#Wnd_Requester)/4.5, 130, 220, 45, "start")
SetGadgetFont(#Btn_Run, FontID(#Fnt_SegoeUI12))
EndProcedure
Create_Res_Requester()
Procedure CreateMainWindow()
OpenWindow(#Window, 0, 0, ResolutionX, ResolutionY,"", #PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_MinimizeGadget)
; ; OpenGLGadget(#OGL_Gadget, 0, 0, ResolutionX, ResolutionY) : Init_OpenGL(#OGL_Gadget, ResolutionX, ResolutionY)
HideWindow(#Window, #False)
EndProcedure
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
Select EventGadget()
Case #Btn_Run
CreateMainWindow()
EndSelect
EndSelect
ForEver
VG