Eigene GUI Slider?

Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

Mathias-Kwiatkowski

BeitragMi, Dez 19, 2012 9:19
Antworten mit Zitat
Benutzer-Profile anzeigen
obwohl ich dein beitrag erst späd lese, danke ich dir vielmals, ich weiss nich wo und wann ich mich verfranzt habe. aber es is ständig passiert.

aber auch mein wunder sei verbracht ^^

erst mal alles gute nachträglich. und danke dir für deine mühe. so sieht nun mein resultat aus.

wenn man bedenkt das eigentlich sowas simples doch rechtviel zeit gefressen hat. und ich mit textfelder z.b. keine wirklich allzugrossen probleme hatte. naja vieleicht habe ich einfach zu umständlich gedacht.
user posted image
 

PhillipK

BeitragMi, Dez 19, 2012 12:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke und freut mich, wenns dir hilft Smile

Und wenn du meinen krams jetzt noch so umbaust, das man auch nen slider von oben/unten definieren kann.. *grins* wääh ^^

aber: am besten noch ein paar mal schauen Smile
Fehler finden ist in sofern wichtig, das du daraus lernst ^^

Kleines edit.

Da ich selbst arge schwierigkeiten mit dem ganzen hatte, würde ich mich freuen, wenn mir jemand meinen Type nocht zerpflückt und ewaigte verbesserungen anprangert.
So hiflts mir, anderen und vorallem der nachwelt, wenn sie dieses Type irgendwo irgendwie ausgraben Smile

Was könnte man besser machen, ist irgendwo unnötiges mathe, gibts vereinfachungen, ist es unverständlich geschrieben... ?
  • Zuletzt bearbeitet von PhillipK am Mi, Dez 19, 2012 14:53, insgesamt einmal bearbeitet

Midimaster

BeitragMi, Dez 19, 2012 14:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ihr beiden habt das so hübsch kompliziert hingekriegt, da will ich auch noch meine einfache Lösung posten:

BlitzMax: [AUSKLAPPEN]
SuperStrict

Type TSlider
Field X%,Y%,B%,H% 'Abmessungen des Slider
Field Maxi%,Mini%,Scale#,Pos% '


Function Create:TSlider(X%,Y%,B%,H%,Maxi%,Mini%)
Local slider:TSlider = New TSlider
slider.X=X
slider.Y=Y
slider.B=B
slider.H=H
slider.Maxi=Maxi
Slider.Mini=Mini
Slider.Scale=Float(B)/Float(Maxi)
Return Slider
End Function


Method Draw()
SetColor 255,255,255
DrawRect X,Y,B,H
SetColor 111,111,111
DrawRect X+pos*scale,Y+1,Mini*Scale,H-2
End Method


Method SetValue(Value#)
If value<0 Or Value>(Maxi-Mini) Return
Pos=value
End Method


Method Move(Dir%)
SetValue Pos+Dir
End Method


Method Value%()
Return Pos
End Method

End Type


Graphics 800,600
Global FensterBreit%=600
Global BildBreit%=1000

Global Slider:TSlider=TSlider.Create(40,40,200,30,BildBreit,FensterBreit)
Repeat
Cls

Slider.Draw
Slider.Move +1
Print Slider.Value()
SetColor 0,111,0
DrawRect 100,100,Fensterbreit,400
SetColor 0,0,222
DrawRect 100-Slider.Value(),130,BildBreit,200
Flip 0
Until KeyHit(1)

Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe
 

PhillipK

BeitragMi, Dez 19, 2012 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
....
Nicht so hübsch, aber kurz und knackig.
Verdammt Very Happy

Ich denke wohl immer viel zu komplex, oder?
Na immerhin hab ich alles so eingebaut bekommen, wie es in meinem kopf existiert hat *grins*

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group