Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Tastendrücke (https://www.delphipraxis.net/1715-tastendruecke.html)

nailor 23. Dez 2002 22:42

Zu Doppelbelegung fällt mir ein: Hat jemand mal eine relative komplette Übersicht über die Windows-Shortcuts? Ich wollte was auf Strg-H legen, und siehe da, das ist das gleiche wie Backspace. Mich würde mal interessieren, wo noch mehr solcher Überraschungen lauern

Christian Seehase 24. Dez 2002 00:01

Moin Nailor,

wo hattest Du denn ein Problem mit STRG-H?

Die gesamten Kombinationen STRG-A bis STRG-Z sind mit den entsprechenden ASCII Codes 01 bis 26 belegt (Steuerzeichen). Dies dürfte sich allerdings nur in der Konsole auswirken (in Notepad ist STRG-H der Shortcut für Ersetzen)
Gib da mal STRG-G und Enter ein. Ein Beep wird laut, da STRG-G für den Code 07 = BEL steht.

Was übrigens auch die ausgeschriebene Version von STRG nahelegt: Steuerung.

Für diese Zeichen besorgst Du Dir am Besten mal eine Liste der ASCII Codes, z.B. in den GExperts enthalten.

nailor 24. Dez 2002 13:03

in jedem edit, memo... ist STRG-H das gleiche wie Backspace! Damit löschst du das letzte Zeichen. Auch bei Notepad! Ich wollte das glaub ich für einen Hilfedialog nehmen, aber dann war immer Hilfe aufgerufen und letztes Zeichen weg. Also hab ich es dann doch auf F1.

Luckie 24. Dez 2002 13:14

Vernünftig. Warum vom Standard abweichen.

nailor 24. Dez 2002 13:49

Und meine Frage war jetzt, ob vielleicht auf STRG-S oder STRG-N auch noch irgendwelche Nebenwirkungen zu befürchten sind, die man erst eliminieren müsste?

Christian Seehase 24. Dez 2002 14:06

Moin Nailor,

also wenn ich im Notepad Strg-H drücke geht, wie schon gesagt, der Ersetzen Dialog auf.
Da wird nichts gelöscht. Diese Tastenkombinationen wirken sich nur in der Konsole aus (jedenfalls bei mir)

[EDIT]
Ich hab's gerade mal mit einem TMemo ausprobiert:
Da passiert's nur, wenn ich Strg-H nicht anderweitig als Shortcut zugeordnet habe (z.B. zu einem Menüpunkt)
In Frage kommen, wie schon gesagt, die Kombinationen Strg-A bis Strg-Z in Frage.
Evtl., aber das hab' ich jetzt nicht probiert, liesse sich das noch in der WndProc abfangen.
Allerdings: Wären keine Kombinationen vorbelegt, müsste man Strg-C,-X,-V auch immer selber programmieren.
[/EDIT]

nailor 24. Dez 2002 14:45

als ich hab win me. da gehen im editor, im start->ausführen,...

überall das letzte zeichen weg!

...mal testen.

...Bei WordPad geht ein Suchen/Ersetzen Dialog auf. Sonst nirgends!

Christian Seehase 24. Dez 2002 14:56

Moin Nailor,

mal verallgemeinert ausgedrückt:
Ist Strg-H bereits belegt, wird diese Verknüpfung ausgeführt, ansonsten wird es als Backspace interpretiert.

Mit Strg-Y wird i.d.R. auch eine Zeile gelöscht. (z.B. auch in der Delphi IDE)

nailor 24. Dez 2002 15:59

NeinNeinNein!

Wenn ich im Form1.KeyDown abfrage, ob STRG dedrückt und H gedrückt ist, und wenn ja ShowMessage('HaHaHa') mache, dann passiert bei STRG-H folgendes:

Mein Letztes getipptes Zeichen geht weg UND eine Messagebox geht auf!!!

Ehrlich!!!

Christian Seehase 24. Dez 2002 16:15

Moin Nailor,

DochDochDoch :mrgreen:

Ich sagte ja:
Wenn diese Kombination bereits belegt ist passiert das nicht.
Das heisst:
Du hast einen Shortcut mit dieser Tastenkombination belegt, z.B. als Eigenschaft ShortCut in einem Mainmenü. Dann wird nicht gelöscht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz