![]() |
Tipp 0433
|
Tastenkürzel ein- und ausblenden
|
 |
|
Autor/Einsender: Datum: |
|
Jürgen Beil 22.01.2005 |
|
Entwicklungsumgebung: |
|
VB 6 |
|
|
Um die Tastaturnavigation zu vereinfachen, werden die Tastenkürzel von Menüs, Schaltflächen,
Kontrollkästchen, usw. unterstrichen dargestellt. Ab Windows 2000 kann man diese Funktion
in den Systemeinstellungen auch abschalten (Anzeige-Eigenschaften).
|
Das entsprechende Kontrollkästchen heißt unter
|
|
Win XP |
'Unterstrichene Buchstaben für Tastaturnavigation ausblenden (mit Alt-Taste einblenden)' und befindet
sich im Dialog Effekte. Dieses wird über die Schaltfläche Effekte... auf dem Registerblatt
Darstellung geöffnet.
|
Win 2000 |
'Tastaturnavigationszeiger ausblenden (mit Alt-Taste einblenden)' und befindet sich auf dem
Registerblatt Effekte.
|
Mit der API-Funktion SystemParametersInfo kann man diese Einstellung unter
|
Win 98 & ME |
zwar ändern, dies hat aber nur auf wenige Fenster eine Auswirkung (z. B. den Windows-Beenden-Dialog).
Es ist nicht möglich, die gewählte Option als Standard in der Registry zu speichern.
|
|
|
Sind die Buchstaben für die Tastaturnavigation ausgeblendet, erlebt man mit Visual Basic
die ein oder andere Überraschung, abhängig vom Betriebssystem.
|
In der alternativen Darstellung werden nur die Menüs immer richtig angezeigt.
|
Win XP (Visual Styles) |
VB-Programme legen ein unterschiedliches Verhalten an den Tag, je nach dem, ob das Programm in der
Entwicklungsumgebung (IDE) oder als EXE ausgeführt wird.
Tastenkürzel von Schaltflächen, Kontrollkästchen usw. werden in der IDE immer unterstrichen,
in der EXE hingegen werden sie niemals unterstrichen!
|
Win 2000 & XP (Klassisch)
|
Tastenkürzel von Schaltflächen, Kontrollkästchen usw. werden immer unterstrichen!
|
Win 98 & ME
|
Tastenkürzel von Schaltflächen, Kontrollkästchen usw. werden niemals unterstrichen!
|
|
Code im Codebereich des Moduls |
|
|
Option Explicit
Private Declare Function SystemParametersInfo Lib "user32" Alias _
"SystemParametersInfoA" (ByVal uAction As Long, _
ByVal uParam As Long, ByRef lpvParam As Any, _
ByVal fuWinIni As Long) As Long
Private Const SPI_GETMENUUNDERLINES = &H100A
Private Const SPI_SETMENUUNDERLINES = &H100B
Private Const SPIF_SENDWININICHANGE = &H2
Private Const SPIF_UPDATEINIFILE = &H1
Public Function GetMenuUnderlines() As Long
Dim lngMenuUnderlines As Long
On Error Resume Next
Call SystemParametersInfo(SPI_GETMENUUNDERLINES, 0, _
lngMenuUnderlines, 0)
GetMenuUnderlines = lngMenuUnderlines
On Error GoTo 0
End Function
Public Sub SetMenuUnderlines(ByVal lngMenuUnderlines As Long, _
Optional ByVal boolUpdateINIFile As Boolean = False)
Dim lngUpdateINIFile As Long
On Error Resume Next
If boolUpdateINIFile Then lngUpdateINIFile = SPIF_UPDATEINIFILE
Call SystemParametersInfo(SPI_SETMENUUNDERLINES, 0, _
ByVal lngMenuUnderlines, SPIF_SENDWININICHANGE Or _
lngUpdateINIFile)
On Error GoTo 0
End Sub
|
|
|
|
Die im Download befindliche *.bas-Datei kann für die Verwendung in einem (Office-)Programm
im VB-Editor des entsprechenden Programms importiert werden, ein Import der *.frm-Datei ist
nicht möglich.
|
|
Windows-Version |
95 |
 |
|
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
VB-Version |
VBA 5 |
 |
|
VBA 6 |
 |
|
VB 4/16 |
 |
|
VB 4/32 |
 |
|
VB 5 |
 |
|
VB 6 |
 |
|
|
|
Download (4 kB)
|
Downloads bisher: [ 523 ]
|
|
|