Wie bekomme ich ein Editierbares spingadget?
Verfasst: 10.04.2005 13:11
Möchte ein spingadget haben wo man von 0 bis 50 auswählen kann oder,
die zahlen selber eingeben kann?
die zahlen selber eingeben kann?
Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
geht das nicht schon 'out-of-the-box'? Habe gerade mal mit dem VD einromartens hat geschrieben: Möchte ein spingadget haben wo man von 0 bis 50 auswählen kann oder,
die zahlen selber eingeben kann?
Code: Alles auswählen
; PureBasic Visual Designer v3.90 build 1361
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#Spin_0
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 270, 24, 600, 300, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "New window ( 0 )")
If CreateGadgetList(WindowID())
SpinGadget(#Spin_0, 20, 20, 60, 20, 0, 50)
EndIf
EndIf
EndProcedure
; PureBasic Visual Designer v3.90 build 1361
;IncludeFile "CommonSpingadget.pb"
Open_Window_0()
SetGadgetState (0,5) : SetGadgetText(0,"5") ; Anfangswert festlegen
Repeat
Event = WaitWindowEvent()
If Event = #PB_EventGadget
;Debug "WindowID: " + Str(EventWindowID())
GadgetID = EventGadgetID()
If GadgetID = #Spin_0
;Debug "GadgetID: #Spin_0"
SetGadgetText(0,Str(GetGadgetState(0)))
EndIf
EndIf
Until Event = #PB_EventCloseWindow
End
Code: Alles auswählen
; English forum: http://purebasic.myforums.net/viewtopic.php?t=6569&highlight=
; Author: GPI
; Date: 15. June 2003
If OpenWindow(0,0,0,140,70,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"SpinGadget") And CreateGadgetList(WindowID(0))
SpinGadget (0,20,20,100,25,0,1000)
SetGadgetState (0,5) : SetGadgetText(0,"5") ; Anfangswert festlegen
Repeat
ev.l = WaitWindowEvent()
If ev=#PB_Event_Gadget
If EventGadgetID() = 0
If GetGadgetState(0)<>Val(GetGadgetText(0)) ; hat sich was geändert?
If EventType()=#PB_EventType_Change ; = Eingabe in Textfeld
SetGadgetState(0,Val(GetGadgetText(0)))
Else
SetGadgetText(0,Str(GetGadgetState(0)))
EndIf
EndIf
EndIf
EndIf
Until ev.l = #PB_Event_CloseWindow
EndIf