Frage

Ich muss in Visual Basic 2005 Express ein Quick-n-Dirty-Knopf-Steuerelement erstellen, dessen Wert erhöht/dekrementiert wird, indem ich es mit der Maus „greife“ und den Cursor nach oben/unten bewege.Da sich der Knopf selbst nicht bewegt, muss ich die Mausbewegung außerhalb des Rechtecks ​​des Steuerelements weiter verfolgen.

Ich benutze ein Label mit einem ImageList um dies zu implementieren (ich habe eine Liste von 127 Bitmaps, die den Knopf in verschiedenen Positionen darstellen).

Auf welche Ereignisse soll ich reagieren?

War es hilfreich?

Lösung

Sie benötigen das Steuerelement, um drei Ereignisse zu verarbeiten:Maus runter, Maus bewegen und Maus hoch.Beim Mouse Down-Ereignis müssen Sie die Maus einfangen.Dies bedeutet, dass die Mausnachrichten an das Steuerelement gesendet werden, das die Erfassung hat.Wenn beim Ereignis „Mausbewegung“ die Eingabe erfasst wird, wird das angezeigte Bild abhängig vom Ausmaß der Mausbewegung aktualisiert.Geben Sie im Ereignis „Maus hoch“ die Erfassung frei, wenn die Eingabe erfasst wird.

Der boolesche Wert jjnguy schlägt vor, dass er unnötig ist, da die Capture-Eigenschaft eines Steuerelements lesbar ist, sodass festgestellt werden kann, ob die Erfassung festgelegt wurde.

Andere Tipps

Ihr Problem besteht darin, anhand der Koordinaten, die die Maus im Ereignis „mouse_move“ meldet, zu bestimmen, welche Bitmap Sie anzeigen müssen.Sie müssen etwas Magie anwenden, um die Koordinaten umzuwandeln und einen Wert zu ermitteln, den Sie zur Auswahl des richtigen Bildes verwenden können.

Es klingt nicht allzu kompliziert, nur ein bisschen Versuch und Irrtum in der Mathematik.Skizz hat Ihnen bereits gezeigt, wie Sie die Ereignisse erfassen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top