Hilfe bei Slider

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Pebender

Betreff: Hilfe bei Slider

BeitragMo, Jul 25, 2011 8:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

nun sitzte ich schon seit zwei Tagen an einen Problem mit meinen Slidern.
folgendes:

ich habe ein Canvasfeld mit einem Bild, das ich per Knopfdruck vergrößeren kann.
nun möchte ich, das die Slider sich der Bildgröße anpassen und natürlich auch,das das Bild sich hin und her schieben lässt.
Hatte das ganze schon als Funktion soweit gebracht, das sich das Bild bewegen lässt,aber wenn ich das Bild nach links bewegt habe, wurde es auch auf der linken Seite abgeschnitten,heißt wenn ich es anschließend wieder nach rechts bewegt habe,fehlte der Teil um das es nach links verschoben wurde.Habe auch schon etliche Tut´s gelesen, aber irgendwie raff ich das nicht.Hatte jetzt mal einen anderen Weg versucht, aber nun läuft das Bild nicht mehr nach rechts oder links.
Was ich auch nicht hinbekomme, ist das der Slider erst am Ende ist, wenn das Bild am Ende oder Anfang ist.
Soll heißen wenn ich am Bildende bin, kann ich den Slider immernoch bewegen, und das Bild im Prinzip wegschieben.
Hoffe man versteht mich einigermaßen.
Hier mal der Ansatz, mit den ich die Nacht angefangen habe.
Code: [AUSKLAPPEN]
Global x:Int=0         'slider x
Global test:Float         'sliderposition ist halbe Bildbreite
Global faktor_b#         'Bildbreite
Global datei:TImage      'Variable zum Bild einlesen

hslider=CreateSlider(490,330,300,20,MyWindow,SLIDER_HORIZONTAL)   'Slider horizontal

Case EVENT_GADGETACTION
      Select EventSource()
         
         Case hslider
           x=EventData()
      End Select
   RedrawGadget(vorlage)   
   End Select

Function rechtslinks() 'Funktion für Slider

   
   Cls
       SetSliderRange(hslider,0, faktor_b#)   'sliderweite auf Bildbreite ansetzen
       SetSliderValue(hslider,faktor_b#/2)   'Slider auf die Mitte des Bildes platzieren
       test=(faktor_b#-GadgetWidth(vorlage))
            DrawImageRect(datei,test,0,faktor_b#,faktor_h#) 'Bild zeichnen
      
   
    
           Flip
   

      
End Function


das war der Ansatz mit den ich jetzt probieren will, aber außer das der Slider sich nur hin und her bewegen lässt, ist nichts.

Habe BMax & MaxGUI

mfg Peter
BMax & MaxGUI

Midimaster

BeitragMo, Jul 25, 2011 8:23
Antworten mit Zitat
Benutzer-Profile anzeigen
soweit ich weiß soll die Slider-Range so eingestellt werden, dass der Minimum-Wert die Breite des Fensters ist und der Maximum-Wert die Breites des eigentlichen Bildes.

Ich hab das schon mal gemacht und werde da mal gleich nachschauen....


Gezeichnet wird das Bild immer bei 0,0 aber mit diesen Koordinaten der Quelle: Quell-X = SliverValue()-faktorb und der Quell-Breite = Breite des Zielfensters

BlitzMax: [AUSKLAPPEN]
SetSliderRange hSlider , 330 , FaktorB   
StartX = SliderValue(hSlider) - 330
DrawImageRect Datei , StartX , 0 , 330 , 330



Außerdem gibt es da doch das ProxyGadget Scroll-Panel? Wäre das für Deine Bedürfnisse hier nicht besser geeignet?

Pebender

BeitragDi, Jul 26, 2011 19:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

und vielen Dank für deine Antwort, hab es jetzt einigermaßen hinbekommen ,funktioniert aber mit ein paar kleinen Mängeln(ist wahrscheinlich ein Rechnungsfehler) werde mal weiter testen.

mfg Peter
BMax & MaxGUI

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group