Ich habe das mal vor Jahren programmiert... War ein MP3-Player. Equalizer mit Schiebereglern, Lautstärke und einfacher Bassregler zum Drehen.
Leider total kacke und spaghetticode-mäßig. Sonst hätte ich dir den Source gegeben.
Mit den Gadgets hast du nur eingeschränkte Gestaltungsmöglichkeiten.
Ich habe damals mit StartDrawing() gearbeitet.
Du musst im Prinzip die Scrollbar nachbauen.
So geht es (Maus-Events + CanvasGadet()):
- Initiale Position beim Programmstart auf Canvas rendern.
- MouseDown auf das Gadget abgreifen und "merken"
- User bewegt die Maus nach MouseDown: Bewegung auf den Knopfstatus übertragen (auch dann, wenn der Mauszeiger den grafischen Knopf verlässt, damit auch Klumpfinger das bedienen können). Knopfstatus auf den Canvas rendern. Der User verstellt den Knopf
- User lässt Maus an beliebiger Stelle im Bildschirm los: Den "Merker" zurücksetzen und der Verstellvorgang ist beendet
Ob der Knopf zum Drehen oder zum Schiebenist, ist reine Grafiksache. Der Code dahinter ist im Grunde derselbe.
Skizze:
http://www.directupload.net/file/d/4570 ... l6_jpg.htm
Beim Drehknopf musst du mit Winkelfunktionen arbeiten. Beim Schiebeknopf dagegen nur eine der Koordinaten verwenden (Je nachdem, ob horizontal oder vertical)
Unter HTML5 habe ich sowas schon zig mal programmiert. Diese Methode funktioniert bestens.
