Command-B. den Focus zuweisen über MouseMove
05.02.2004 15:16:04
Elmar Steigenberger
ich möchte in einer Userform den Anwender die Bedienung erleichtern und mir fehlt noch ein Befehl:
Nachdem die meisten viel mit älteren Laptops arbeiten und dort die Helligkeitsausleuchtung nicht so toll ist, möchte ich den Commandbutton, der gerade aktiv ist heller machen. Wenn der User den wieder verläßt, dann soll er wieder dunkel werden. Das klappt auch so weit schon ganz gut:
Userform mit 3 Commandbuttons
Private Sub CommandButton1_Enter()
CommandButton1.BackColor = &HE0E0E0 'hellgrau zuweisen
CommandButton2.BackColor = &H8000000F 'dunkelgrau zuweisen
CommandButton3.BackColor = &H8000000F 'dunkelgrau zuweisen
End Sub
Private Sub CommandButton2_Enter()
CommandButton2.BackColor = &HE0E0E0 'hellgrau zuweisen
CommandButton1.BackColor = &H8000000F 'dunkelgrau zuweisen
CommandButton3.BackColor = &H8000000F 'dunkelgrau zuweisen
End Sub
Private Sub CommandButton3_Enter()
CommandButton3.BackColor = &HE0E0E0 'hellgrau zuweisen
CommandButton1.BackColor = &H8000000F 'dunkelgrau zuweisen
CommandButton2.BackColor = &H8000000F 'dunkelgrau zuweisen
End Sub
Allerdings ist das nur die Lösung für die Tastatur, denn nur wenn man Tab drückt, kommt man auf die Felder und der Focus wird gesetzt. Jetzt möchte ich aber noch, wenn man mit der Maus draufzeigt, dass das Feld auch grau wird:
funktioniert auch:
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
CommandButton1.BackColor = &HE0E0E0
CommandButton2.BackColor = &H8000000F
CommandButton3.BackColor = &H8000000F
End Sub
Analog 2. und 3. Commandbutton
Allerdings wird da jetzt nicht der Focus gesetzt, wenn man nur draufzeigt, d.h. der User der auf den 3. Commandbutton zeigt, hat den Focus immer noch auf dem ersten Commandbutton. Er soll aber nicht klicken müssen, um den Focus zu kriegen, sondern das Zeigen soll reichen.
Wie kann ich den (nicht existierenden) "SetFocus"-Befehl in das Mousemove-Ereignis einbauen? Ich habe nur LostFocus und GotFocus und TakeFocusOnClick gefunden, die mir aber alle nicht weiterhelfen!
Vielen Dank fürs Lesen, Eindenken und Antworten!
liebe e-Grüße - Elmar