Det är så att jag håller på med en mp3 spelare och vill kunna som i winamp flytta en bild för att kunna öka volymen.. Jag tror rent spontant (utan att ha funderat alls) att jag nog skulle ha gjort nåt sånt här: Hej! En lite komentar bara. Om man trycker ner musknappen på en kontroll och drar så registrerar kontrollen musrörelserna även utanför kontrollen, ända till man släpper musknappen. dimensionera en booleska variabel som kan heta till exempel IsDown dimensionera en boolesk variabel som kan heta till exempel IsDownFlytta en bild i sidled
alltså, att volym knappen skall röras efter musen..
men jag får inte till det för att formuläret vill inte registrera X och Y när man har musen över en bild..
hur löser man detta?
någon som har gjort detta förr och skulle kunna visa mig hur man gör?Sv: Flytta en bild i sidled
Sätt en Picturebox i det område där din volymknapp ska vara (runt hela området det kan röra sig på, alltså)
<code>
-----------------------------------------
| |
| |
| ---------------- |
| | | |
| | -----V----- | |
| | | |
| ---------------- |
| |
| |
| |
| |
-----------------------------------------
</code>
Om du nu fattar vad jag menar med bilden där.
Sen skulle jag använda mig av pictureboxens olika MouseXxx-events för att hantera själva förflyttningen.Sv: Flytta en bild i sidled
En liten "genväg" kan vara om du accepterar att volPotten
är en Shape. En sån har ingen "massa" och man kan alltså
"...registrera X och Y när man har musen över" .
Då brukar jag köra med:
<code> xDiff =(mouse)X - Shape.left </code>
Hoppas att jag har bidragit med nåt nu... :-/
ChristerGbgSv: Flytta en bild i sidled
Sv: Flytta en bild i sidled
dim IsDown as boolean
och sedan i pictureboxens mousedownhändelse sätter du:
IsDown = true
och i MouseUp
IsDown = False
Och i MouseMove får du kontrollera IsDown och sedan klarar du nog resten
ledning:
Kontrollera pictureboxens .top i förhållande till formuläret, även så med .left
sedan tar du hälften av pictureboxen höjd och bredd för att komma på mitten
och sedan adderar du längden och höjden från formulärets top och left till pictureboxens top och left.
ta-daa...Sv: Flytta en bild i sidled
dim IsDown as boolean
och sedan i pictureboxens mousedownhändelse sätter du:
IsDown = true
och i MouseUp
IsDown = False
Och i MouseMove får du kontrollera IsDown och sedan klarar du nog resten
ledning:
Kontrollera pictureboxens .top i förhållande till formuläret, även så med .left
sedan tar du hälften av pictureboxen höjd och bredd för att komma på mitten
och sedan adderar du längden och höjden från formulärets top och left till pictureboxens top och left.
ta-daa...