SpinGadget editierbar machen
SpinGadget editierbar machen
Hallo,
kann man ein SpinGadget editierbar machen? Also so das ich nicht nur die Pfeile benutzen kann sondern auch mit dem Cursor einen Wert einstragen kann.
Ich habe schon versucht es hinzubekommen aber es geht immer nur das eine oder das andere.
Bei dem Beispiel aus der Hilfe kann man ja nur die Pfeile benutzten.
kann man ein SpinGadget editierbar machen? Also so das ich nicht nur die Pfeile benutzen kann sondern auch mit dem Cursor einen Wert einstragen kann.
Ich habe schon versucht es hinzubekommen aber es geht immer nur das eine oder das andere.
Bei dem Beispiel aus der Hilfe kann man ja nur die Pfeile benutzten.
MfG Jake
- Life-for-fun
- Beiträge: 21
- Registriert: 30.05.2005 20:28
- Wohnort: Offenbach
- Kontaktdaten:
Du musst einfach nur diese Zeile entfernen:
Deshalb wird es immer zurückgesetzt 
Code: Alles auswählen
SetGadgetText(0,Str(GetGadgetState(0)))

- Life-for-fun
- Beiträge: 21
- Registriert: 30.05.2005 20:28
- Wohnort: Offenbach
- Kontaktdaten:
Jap, stimmt
war gestern ein bissi müde und sollte zudem meinen PC ausmachen... Eltern
Aber macht ja nix.
Setze einfach für die Stelle oben folgendes ein:
Damit dürfte es laufen
Nun wird Status und Text geändert
Musst halt dazu zwei Variable nehmen.


Setze einfach für die Stelle oben folgendes ein:
Code: Alles auswählen
If lastState.l<>GetGadgetState(0)
SetGadgetText(0,Str(GetGadgetState(0)))
lastState.l=GetGadgetState(0)
lastText.s=GetGadgetText(0)
ElseIf lastText.s<>GetGadgetText(0)
SetGadgetState(0,Val(GetGadgetText(0)))
lastText.s=GetGadgetText(0)
lastState.l=GetGadgetState(0)
EndIf


Warum probierst du nicht aus was du geschrieben hast bevor du es postetst. Nur drei Zeilen mehr und du hast ein Laufendes Programm und würdest sehen das es nicht geht.
Wie soll man mit deinem Code die Pfeile benutzen? Das geht so nicht. Ich habe solche Experimente schon gemacht bevor ich diese Frage hier gestellt habe.
Wenn es so einfach wäre hätte ich es selbst hinbekommen. Will dich hier nicht runtermachen aber ich glaube du bist genau so ein Anfänger wie ich es bin und ich bin auf der suche nach einer professionellen Lösung.
Ich kenne kein Programm bei dem das was ich möchte nicht geht. Nur in Purebasic geht das ohne weiteres wohl nicht.
Wie soll man mit deinem Code die Pfeile benutzen? Das geht so nicht. Ich habe solche Experimente schon gemacht bevor ich diese Frage hier gestellt habe.
Wenn es so einfach wäre hätte ich es selbst hinbekommen. Will dich hier nicht runtermachen aber ich glaube du bist genau so ein Anfänger wie ich es bin und ich bin auf der suche nach einer professionellen Lösung.
Ich kenne kein Programm bei dem das was ich möchte nicht geht. Nur in Purebasic geht das ohne weiteres wohl nicht.
MfG Jake
Re: SpinGadget editierbar machen
> kann man ein SpinGadget editierbar machen?
http://forums.purebasic.com/german/viewtopic.php?t=2909
Grüße ... Kiffi
http://forums.purebasic.com/german/viewtopic.php?t=2909
Grüße ... Kiffi
Danke Kiffi genau das habe ich gesucht. Hab das auch schon fast so gehabt aber eine Zeile hatte ich nicht drin.
Und zwar diese hier:
Schon peinlich das nicht selbst gefunden zu haben, habe mir das Code-Archiv nämlich runtergeladen und auch schon darin gesucht.
Code: Alles auswählen
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
Code: Alles auswählen
If GetGadgetState(0)<>Val(GetGadgetText(0)) ; hat sich was geändert?
MfG Jake
- Life-for-fun
- Beiträge: 21
- Registriert: 30.05.2005 20:28
- Wohnort: Offenbach
- Kontaktdaten:
@ Jake:
Ich probier meine Sachen schon aus, bevor ich sie hier reinschreibe. Bei mir läuft es wenn ich es einsetze:
Erfüllt denselben Zweck wie der Code von Kiffi, auch wenn der professioneller ist 
Ich probier meine Sachen schon aus, bevor ich sie hier reinschreibe. Bei mir läuft es wenn ich es einsetze:
Code: Alles auswählen
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
Event = WaitWindowEvent()
If EventGadgetID() = 0
If lastState.l<>GetGadgetState(0)
SetGadgetText(0,Str(GetGadgetState(0)))
lastState.l=GetGadgetState(0)
lastText.s=GetGadgetText(0)
ElseIf lastText.s<>GetGadgetText(0)
SetGadgetState(0,Val(GetGadgetText(0)))
lastText.s=GetGadgetText(0)
lastState.l=GetGadgetState(0)
EndIf
WindowEvent() ; absolut notwendig, um Endlos-Schleifen zu vermeiden
EndIf
Until Event = #PB_Event_CloseWindow
EndIf

Nur für alle, die den Quatsch hier außer mir auch noch lesen:
Standardmäßig unterstützt ein SpinGadget nicht den Eventtype Change.
Es kann ja sein, dass es dafür ein Lib gibt, weiß ich nicht, aber mit der normalen Version von PB funktioniert das Nicht!!!
Lösung:
Spingadget so weit verkleinern in der x-Dimension, dass nur die Pfiele sichtbar sind und ein StringGadget daneben setzen. Das kann dann wie in den Beispielen oben über das SpinGadget gesteuert werden.
Johannes
Standardmäßig unterstützt ein SpinGadget nicht den Eventtype Change.
Es kann ja sein, dass es dafür ein Lib gibt, weiß ich nicht, aber mit der normalen Version von PB funktioniert das Nicht!!!
Lösung:
Spingadget so weit verkleinern in der x-Dimension, dass nur die Pfiele sichtbar sind und ein StringGadget daneben setzen. Das kann dann wie in den Beispielen oben über das SpinGadget gesteuert werden.
Johannes
- 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
Bei mir funktioniert esJoRo hat geschrieben:Nur für alle, die den Quatsch hier außer mir auch noch lesen:
Standardmäßig unterstützt ein SpinGadget nicht den Eventtype Change.
Es kann ja sein, dass es dafür ein Lib gibt, weiß ich nicht, aber mit der normalen Version von PB funktioniert das Nicht!!!



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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
