Seite 1 von 1

Wie bekomme ich ein Editierbares spingadget?

Verfasst: 10.04.2005 13:11
von romartens
Möchte ein spingadget haben wo man von 0 bis 50 auswählen kann oder,
die zahlen selber eingeben kann?

Re: Wie bekomme ich ein Editierbares spingadget?

Verfasst: 10.04.2005 13:15
von Kiffi
romartens hat geschrieben: Möchte ein spingadget haben wo man von 0 bis 50 auswählen kann oder,
die zahlen selber eingeben kann?
geht das nicht schon 'out-of-the-box'? Habe gerade mal mit dem VD ein
jungfräuliches Fenster mit einem Spin-Gadget versehen und gestartet. Ich
kann da Zahlen über die Tastatur eingeben.

Grüße ... Kiffi

out-of-the-box?

Verfasst: 10.04.2005 13:18
von romartens
geht das genauer???

Verfasst: 10.04.2005 14:16
von Falko
In etwa so?

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

sorry du hast mich falsch verstanden!

Verfasst: 10.04.2005 14:43
von romartens
ich meine ich möchte in dem feld halt auch über tastatur zahlen eingeben können und das geht nicht,das andere kann ich auch da ist ja nix schweres dran!

hilfe

Verfasst: 10.04.2005 16:36
von romartens
weiss keiner wie das geht???

Verfasst: 10.04.2005 16:59
von ts-soft
Hab im CodeArchiv folgendes Beispiel gefunden:

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 
Gruß
Thomas

Spingadget

Verfasst: 10.04.2005 17:16
von romartens
Danke das funktioniert