Wie bekomme ich ein Editierbares spingadget?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
romartens
Beiträge: 57
Registriert: 23.03.2005 19:55
Wohnort: dortmund

Wie bekomme ich ein Editierbares spingadget?

Beitrag von romartens »

Möchte ein spingadget haben wo man von 0 bis 50 auswählen kann oder,
die zahlen selber eingeben kann?
purebasic 3.93
Benutzeravatar
Kiffi
Beiträge: 10715
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Wie bekomme ich ein Editierbares spingadget?

Beitrag 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
Benutzeravatar
romartens
Beiträge: 57
Registriert: 23.03.2005 19:55
Wohnort: dortmund

out-of-the-box?

Beitrag von romartens »

geht das genauer???
purebasic 3.93
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag 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
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
romartens
Beiträge: 57
Registriert: 23.03.2005 19:55
Wohnort: dortmund

sorry du hast mich falsch verstanden!

Beitrag 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!
purebasic 3.93
Benutzeravatar
romartens
Beiträge: 57
Registriert: 23.03.2005 19:55
Wohnort: dortmund

hilfe

Beitrag von romartens »

weiss keiner wie das geht???
purebasic 3.93
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
romartens
Beiträge: 57
Registriert: 23.03.2005 19:55
Wohnort: dortmund

Spingadget

Beitrag von romartens »

Danke das funktioniert
purebasic 3.93
Antworten