VB-Homepage Tipp 318

Nutzung eines MouseOver Ereignisses

Alle, die das Internet nutzen, sind schon mal über einen Button,
einer Grafik oder einem Link mit der Maus gefahren,
als sich irgend etwas änderte
(die Schriftart,-größe,-stil oder eine Anzeige oder eine Grafik oder sonstiges).

Dafür gibt es in der Internetprogrammierung ein MouseOver Ereignis,
dem man Funktionen zuordnen kann.
Nun gibt es in VB nicht direkt identisches, aber etwas, was man sich dafür
umbiegen kann, nämlich das MouseMove Ereignis, das ebenfalls auftritt,
wenn sich die Mause über einem Control befindet und das könnte man sich
doch zu eigen machen.

Und genau das wollen wir im nachfolgenden Tipp auch tun.
Das Problem der Aufgabenstellung ist dabei nicht, irgend etwas auszulösen,
denn mit dem MouseMove Ereignis erhalten wir ja die notwendigen Möglichkeit
zu reagieren, vielmehr muß an das Deaktivieren, der nicht betroffenen Objekte gedacht werden.

Für ein Demoprojekt benötigen Sie eine Form und eine Anzahl an LabelObjekte, die Sie aus einem Objekt erzeugen. Bsp.: Label1(0) bis Label1(4)

Sie können aber nach belieben auch mehr nehmen, die nachfolgenden Anweisungen sind flexibel.

Im Label1_MouseMove(Index As Integer) Event geben sie folgendes ein.
Dim i As Integer

'demarkieren For i = 0 To Label1.UBound   If Not i = Index Then   Label1(i).ForeColor = &H80000012   Label1(i).Font.Underline = False End If Next i

'aktives Objekt markieren If Not Label1(Index).ForeColor = &HFF0000 Then   Label1(Index).ForeColor = &HFF0000    Label1(Index).Font.Underline = True   'xxx End If

Außerdem fügen Sie auch der
Form (und ggf. anderen, noch vorhanden Objekten) in der
MouseMove Methode, das demarkieren aller Labelobjekte ein.
Dim i As Integer

For i = 0 To Label1.UBound    Label1(i).ForeColor = &H80000012   Label1(i).Font.Underline = False Next i

Um außer der Änderung der Schriftfarbe (ForeColor) und Unterstrichen (Underline) noch ein anderes Ereignis auszuführen, brauchen Sie nur diese Anweisungen an der Stelle xxx, ggf. mit Auswertung der Index Eigenschaft
(also welches LabelObjekt aktiv war) einzutragen.


Tipp-Download

Quelle :

Zurück zur Übersichtsseite