Darstellung von Tasten und Tastenkürzeln

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Verwenden der RTL in geräteübergreifenden Anwendungen


Auf dieser Seite werden die verschiedenen Möglichkeiten zur Darstellung von Tasten und Tastenkürzeln (Tastenkombinationen) erläutert.

Darstellen von Tasten

Um eine einzelne Taste darzustellen, können Sie entweder einen Code oder eine Zeichenfolge (String) verwenden. Die folgenden Tabellen enthalten eine vollständige Liste der Codes und Strings, die Sie zur Darstellung der jeweiligen Taste verwenden können.

Die folgenden Tabellen enthalten für einige Tasten keine String-Darstellung, weil das UI-Framework nicht für die String-Darstellung dieser Tasten zuständig ist. Das Betriebssystem, auf dem Ihre Anwendung ausgeführt wird, stellt die String-Darstellung dieser Tasten bereit. Diese vom Betriebssystem bereitgestellten String-Darstellungen sind in den Tabellen nicht enthalten, weil sie variieren können; zum Beispiel: Windows provides locale-specific key names (EN).

Darstellen von Buchstabentasten

Taste Codedarstellung String-Darstellung
Konstante (System.UITypes) String

A

vkA

A

B

vkB

B

C

vkC

C

D

vkD

D

E

vkE

E

F

vkF

F

G

vkG

G

H

vkH

H

I

vkI

I

J

vkJ

J

K

vkK

K

L

vkL

L

M

vkM

M

N

vkN

N

O

vkO

O

P

vkP

P

Q

vkQ

Q

R

vkR

R

S

vkS

S

T

vkT

T

U

vkU

U

V

vkV

V

W

vkW

W

X

vkX

X

Y

vkY

Y

Z

vkZ

Z

Darstellen von Zifferntasten

Taste Codedarstellung String-Darstellung
Konstante (System.UITypes) String

0

vk0

0

1

vk1

1

2

vk2

2

3

vk3

3

4

vk4

4

5

vk5

5

6

vk6

6

7

vk7

7

8

vk8

8

9

vk9

9

Darstellen von Symboltasten

Taste Codedarstellung String-Darstellung
Konstante (System.UITypes) String

Backslash (umgekehrter Schrägstrich)

vkBackslash

\

Eckige Klammer (öffnende)

vkLeftBracket

[

Eckige Klammer (schließende)

vkRightBracket

]

Komma

vkComma

,

Gleichheitszeichen

vkEqual

=

Minuszeichen

vkMinus

-

Punkt

vkPeriod

.

Einzelnes Anführungszeichen

vkQuote

'

Semikolon

vkSemicolon

;

Schrägstrich

vkSlash

/

Tilde

vkTilde

~

Darstellen von Bearbeitungstasten

Taste Codedarstellung String-Darstellung
Konstante (System.UITypes) Konstante (FMX.Consts, Vcl.Consts) String

Rücktaste

vkBack

SmkcBkSp

BkSp

Entfernen

vkDelete

SmkcDel

Del

Eingabe
Return

vkReturn

SmkcEnter

Enter

Einfügen

vkInsert

SmkcIns

Ins

Leertaste

vkSpace

SmkcSpace

Space

Tab

vkTab

SmkcTab

Tab

Darstellung von Navigationstasten

Taste Codedarstellung String-Darstellung
Konstante (System.UITypes) Konstante (FMX.Consts, Vcl.Consts) String

Esc (Escape)

vkEscape

SmkcEsc

Esc

Bild auf

vkPrior

SmkcPgUp

PgUp

Bild ab

vkNext

SmkcPgDn

PgDn

Ende

vkEnd

SmkcEnd

End

Pos1

vkHome

SmkcHome

Home

(Pfeil nach links)

vkLeft

SmkcLeft

Left

(Pfeil nach oben)

vkUp

SmkcUp

Up

(Pfeil nach rechts)

vkRight

SmkcRight

Right

(Pfeil nach unten)

vkDown

SmkcDown

Down

Darstellen von Sondertasten

Taste Codedarstellung String-Darstellung
Konstante System.Classes Konstante (FMX.Consts, Vcl.Consts) String

Alt

scAlt

SmkcAlt

Alt+

Cmd

scCommand

SmkcCmd

Cmd+

Strg (Steuerung)

scCtrl

SmkcCtrl

Ctrl+

^

Umschalt

scShift

SmkcShift

Shift+

Auf dem meisten Windows-Computern ist die Taste Cmd nicht vorhanden, genau wie auf den meisten macOS-Computern die Taste Strg nicht vorhanden ist. Beachten Sie dies, wenn Sie Tastenkürzel für Ihre Anwendung konfigurieren. Möglicherweise müssen Sie Ihre Tastenkürzel zur Laufzeit definieren und mithilfe der bedingten Compilierung das richtige Tastenkürzel für jede Plattform festlegen. Zum Beispiel:

Delphi:

{$IF defined(MSWINDOWS)}
    MenuItem1.ShortCut := TextToShortCut('Ctrl+N');
{$ELSEIF defined(MACOS) and not defined(IOS)}
    MenuItem1.ShortCut := TextToShortCut('Cmd+N');
{$ENDIF}

C++:

#if defined(_WIN32)
    MenuItem1->ShortCut = TextToShortCut("Ctrl+N");
#elif defined(__APPLE__) && (defined(__i386__) or defined(__x86_64__))
    MenuItem1->ShortCut = TextToShortCut("Cmd+N");
#endif

Sie können mit den folgenden Konstanten und Strings Sondertasten auch als reguläre Tasten darstellen:

Taste Codedarstellung String-Darstellung
Konstante (System.UITypes) Konstante (FMX.Consts) String

Alt

vkMenu

Alt

Alt (Links)

vkLMenu

SmkcLMenu

Left Alt

Alt (Rechts)

vkRMenu

SmkcRMenu

Right Alt

Strg (Steuerung)

vkControl

Ctrl

Strg (Links)

vkLControl

SmkcLControl

Left Ctrl

Strg (Rechts)

vkRControl

SmkcRControl

Right Ctrl

Umschalt

vkShift

Shift

Umschalt (Links)

vkLShift

SmkcLShift

Left Shift

Umschalt (Rechts)

vkRShift

SmkcRShift

Right Shift

Windows (Links)

vkLWin

SmkcLWin

Left Win

Windows (Rechts)

vkRWin

SmkcRWin

Right Win

Darstellen von Funktionstasten

Taste Codedarstellung String-Darstellung
Konstante (System.UITypes) String

F1

vkF1

F1

F2

vkF2

F2

F3

vkF3

F3

F4

vkF4

F4

F5

vkF5

F5

F6

vkF6

F6

F7

vkF7

F7

F8

vkF8

F8

F9

vkF9

F9

F10

vkF10

F10

F11

vkF11

F11

F12

vkF12

F12

F13

vkF13

F13

F14

vkF14

F14

F15

vkF15

F15

F16

vkF16

F16

F17

vkF17

F17

F18

vkF18

F18

F19

vkF19

F19

F20

vkF20

F20

F21

vkF21

F21

F22

vkF22

F22

F23

vkF23

F23

F24

vkF24

F24

Darstellen von Feststelltasten

Taste Codedarstellung String-Darstellung
Konstante (System.UITypes) Konstante (FMX.Consts) String

Feststelltaste

vkCapital

SmkcCapital

Caps Lock

Num-Taste

vkNumLock

SmkcNumLock

Num Lock

Rollen-Taste

vkScroll

SmkcScroll

Scroll Lock

Darstellen von Nummernblocktasten

Taste Codedarstellung String-Darstellung
Konstante (System.UITypes) String

0

vkNumpad0

Num 0

1

vkNumpad1

Num 1

2

vkNumpad2

Num 2

3

vkNumpad3

Num 3

4

vkNumpad4

Num 4

5

vkNumpad5

Num 5

6

vkNumpad6

Num 6

7

vkNumpad7

Num 7

8

vkNumpad8

Num 8

9

vkNumpad9

Num 9

*

vkMultiply

Num *

+

vkAdd

Num +

,

vkSeparator

Num ,

-

vkSubtract

Num -

.

vkDecimal

Num .

/

vkDivide

Num /

Darstellen von Multimediatasten

Taste Codedarstellung String-Darstellung
Konstante (System.UITypes) Konstante (FMX.Consts) String

Browser: Zurück

vkBrowserBack

SmkcBrowserBack

BrowserBack

Browser: Weiter

vkBrowserForward

Browser: Aktualisieren

vkBrowserRefresh

Browser: Stoppen

vkBrowserStop

Browser: Suchen

vkBrowserSearch

Browser: Favoriten

vkBrowserFavorites

Browser: Startseite

vkBrowserHome

Kamera

vkCamera

SmkcCamera

Kamera

Aufrufen: E-Mail

vkLaunchMail

Aufrufen: Medienauswahl

vkLaunchMediaSelect

Aufrufen: App 1

vkLaunchApp1

Aufrufen: App 2

vkLaunchApp2

Medien: Nächste Spur

vkMediaNextTrack

Medien: Vorherige Spur

vkMediaPrevTrack

Medien: Stoppen

vkMediaStop

Medien: Wiedergabe/Pause

vkMediaPlayPause

Lautstärke: Aus

vkVolumeMute

Lautstärke: Leise

vkVolumeDown

Lautstärke: Laut

vkVolumeUp

Darstellen von Maustasten

Maustaste Codedarstellung
Konstante (System.UITypes)

Linke Maustaste

vkLButton

Rechte Maustaste

vkRButton

Mittlere Maustaste

vkMButton

X1-Maustaste

vkXButton1

X2-Maustaste

vkXButton2

Darstellen von Spracheingabetasten

Taste Codedarstellung

IME: Kana-Modus

vkKana

IME: Hangul-Modus

vkHangul

IME: Junja-Modus

vkJunja

IME: Endemodus

vkFinal

IME: Hanja-Modus

vkHanja

IME: Kanji-Modus

vkKanji

IME: konvertieren

vkConvert

IME: nicht konvertieren

vkNonConvert

IME: akzeptieren

vkAccept

IME: Anforderung auf Modusändenung

vkModeChange

IME: Prozess

vkProcessKey

Darstellen anderer Tasten

Taste Codedarstellung String-Darstellung
Konstante (System.UITypes) Konstante (FMX.Consts) String

Attn

vkAttn

Back

vkHardwareBack

SmkcHardwareBack

HardwareBack

Break

vkCancel

SmkcCancel

Break

Clear

vkClear

SmkcClear

Clear

CrSel

vkCrsel

Erase EOF

vkErEof

Execute

vkExecute

ExSel

vkExsel

Help

vkHelp

Zeilenvorschub

vkLineFeed

Menü

vkApps

SmkcApps

Application

OEM 102
Entweder die Taste für die spitze Klammer oder für den Backslash auf der RT-Tastatur mit 102 Tasten.

vkOem102

SmkcOem102

OEM \

OEM-spezifische Löschen-Taste

vkOemClear

OEM-spezifisches Ico 00

vkIco00

OEM-spezifisches Ico Löschen

vkIcoClear

OEM-spezifisches Ico Hilfe

vkIcoHelp

PA1

vkPA1

Paket
Übergibt ein Unicode-Zeichen so, als ob es Tastenanschläge wären.

vkPacket

Paragraph

vkPara

SmkcPara

Paragraph

Pause

vkPause

SmkcPause

Pause

Wiedergabe

vkPlay

Drucken

vkPrint

Druck

vkSnapshot

Reserviert

vkNoname

Select

vkSelect

Sleep

vkSleep

Zoom

vkZoom

Keine Taste

vkNone

Darstellen von Tastenkürzeln

In den folgenden Abschnitten wird erläutert, wie Tastenkürzel entweder als Instanz von TShortCut oder als String dargestellt werden.

Darstellen von Tastenkürzeln als Instanzen von TShortCut

Um ein Tastenkürzel als Instanz von System.Classes.TShortCut zu definieren, verknüpfen Sie den Code einer regulären Taste mit den Codes der Sondertasten über den bitweisen ODER-Operator. Zum Beispiel:

Delphi:

Shortcut := vkZ or scShift or scCtrl;

C++:

Shortcut = vkZ | scShift | scCtrl;

Darstellen von Tastenkürzeln mit Strings

Um ein Tastenkürzel mit einem String zu definieren, können Sie einfach die Tasten verketten und die Haupttaste an das Ende setzen. Beispiele für Strings, die Tastenkürzel darstellen:

  • ^P (Strg + P)
  • Shift+Ctrl+Z (Umschalt + Strg + Z)

Zugriffstasten festlegen

Auf Windows-Plattformen ermöglichen die Zugriffstasten die Ausführung von Menübefehlen allein mit der Tastatur, zum Beispiel, durch Drücken von Alt+<Zugriffsbuchstabe>. Eine Zugriffstaste wird als ein unterstrichener Buchstabe in der Caption- oder Text-Eigenschaft Ihres Steuerelements angezeigt. Um eine Zugriffstaste in Ihrem Code festzulegen, fügen Sie vor den <Zugriffsbuchstaben> das Zeichen & in der Caption- oder Text-Eigenschaft Ihres Steuerelements ein. Der Buchstabe nach dem Zeichen & wird in der Caption-/Text-Eigenschaft im Steuerelement unterstrichen angezeigt. Um beispielsweise das Zeichen S als eine Zugriffstaste für eine Save-Schaltfläche festzulegen, geben Sie in der Text-Eigenschaft &Save ein. In einigen Steuerelementen werden die angegebenen <Zugriffsbuchstabe>n unterstrichen angezeigt, wenn die Taste Alt gedrückt wird.

Hinweis: Diese Funktion kann nur auf Windows-Plattformen verwendet werden. Beim Ausführen auf anderen Plattformen wird das Zeichen & aus dem Text entfernt.

Da das Zeichen & in einer Caption-/Text-Eigenschaft als eine Anweisung zur Unterstreichung des nächsten Buchstabens behandelt wird, wird ein einziges Zeichen & nicht in der Caption-/Text-Eigenschaft eines entsprechenden Steuerelements angezeigt. Um ein einziges Zeichen & in einer Caption-/Text-Eigenschaft anzuzeigen, geben Sie zwei Zeichen && ein.

Wechseln zwischen Code- und String-Darstellung

Für eine Instanz von System.Classes.TShortCut, die entweder eine Taste oder ein Tastenkürzel repräsentiert, können Sie mit den folgenden Methoden die String-Darstellung dieser Taste oder dieses Tastenkürzels ermitteln:

Umgekehrt können Sie für eine String-Darstellung einer Taste oder eines Tastenkürzels mit den folgenden Methoden eine Instanz von TShortCut ermitteln, die diese Taste oder dieses Tastenkürzel repräsentiert:

Mit diesen Funktionen können Sie die Tastenkürzel eines Menüeintrags oder anderer Steuerelemente zur Laufzeit einfach festlegen, indem Sie die String-Darstellung des Tastenkürzels anstelle ihrer Codedarstellung verwenden, wodurch Ihr Code lesbarer wird:

Delphi:

MenuItem1.ShortCut := TextToShortCut('Cmd+N');

C++:

MenuItem1->ShortCut = TextToShortCut("Cmd+N");

Siehe auch