ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 23.03.2000

Diese Seite wurde zuletzt aktualisiert am 23.03.2000
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Zugriffstaste ohne Click

Zurück...


Anzeige

(-hg) mailto:hg_noshortcutclick@aboutvb.de

Ist in der Beschriftung einer CheckBox oder eines CommandButtons eine Zugriffstaste festgelegt (siehe Zugriff auf Umwegen"Zugriff auf Umwegen"), wird beim Betätigen der Zugriffstaste die Funktion des Steuerelements direkt ausgelöst: Das Häkchen der CheckBox wird gesetzt bzw. gelöscht oder die Schaltfläche wird betätigt. In beiden Fällen wird dabei das Click-Ereignis ausgelöst.

Wenn jedoch das Betätigen der Zugriffstaste nur den Fokus zu der CheckBox oder dem CommandButton bewegen soll (etwa wie bei der TextBox und einem zur Definition der Zugriffstaste vorgesetzten Label), wird ein kleiner Trick notwendig.

Dieser besteht darin, einfach eine zweite CheckBox (für CommandButtons gilt das im Folgenden gesagte genau so) mit der gleichen Beschriftung, also auch der gleichen Zugriffstasten-Markierung, hinter der eigentlichen CheckBox zu verstecken. Die TabIndex-Nummer dieser verdeckten CheckBox wird auf die Nummer der sichtbaren CheckBox gesetzt - deren TabIndex ist daraufhin um 1 höher geworden. Weiterhin wird die TabStop-Eigenschaft der sichtbaren (ursprünglichen) CheckBox auf False gesetzt.

Damit fällt die sichtbare CheckBox allerdings aus der Tab-Reihenfolge heraus, da beim Betätigen der Tab-Taste (Tab-Reihenfolge vorwärts) bzw. Umschalt-Tab-Kombination (Tab-Reihenfolge rückwärts) die verdeckte CheckBox angesprungen wird. Der eigentliche Trick besteht nun darin, in deren GotFocus-Ereignis dafür zu sorgen, dass die sichtbare CheckBox den Fokus erhält.

Private Sub chkVerdeckt_GotFocus()
  chkSichtbar.SetFocus
End Sub

Damit beim erneuten "Tabben" jedoch nicht wieder die verdeckte CheckBox angesprungen und damit der Fokus erneut auf die sichtbare CheckBox gesetzt würde, wird die verdeckte CheckBox so lange gesperrt, wie die sichtbare den Fokus inne hat.

Private Sub chkSichtbar_GotFocus()
  chkVerdeckt.Enabled = False
End Sub

Private Sub chkSichtbar_LostFocus()
  chkVerdeckt.Enabled = True
End Sub

Da die verdeckte CheckBox in der Steuerelement-Reihenfolge vor der sichtbaren liegt, wird beim ersten Betätigen der Zugriffstaste deren Click-Ereignis ausgelöst. Dort wird dann, wie gewünscht, lediglich der Fokus auf die sichtbare CheckBox gesetzt.

Private Sub chkVerdeckt_Click()
  chkSichtbar.SetFocus
End Sub

Da dadurch auch wieder das GotFocus-Ereignis der sichtbaren CheckBox ausgelöst wird, wird die verdeckte CheckBox wie gehabt gesperrt - das nächste Betätigen der Zugriffstaste löst dann wie gewohnt die Funktion der CheckBox aus - das Häkchen wird gesetzt oder gelöscht.


Beispiel-Projekt NoShortcutClick (noshortcutclick.zip - ca. 2 KB)


Artikel
Zum Download-Bereich dieses Artikel
Mail an den Autor dieses Artikel

KnowHow
Zur KnowHow-Übersicht

KnowHow-Themen
Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche



Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer