Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Tasten undabhänig vom Focus abfangen (https://www.delphipraxis.net/51291-tasten-undabhaenig-vom-focus-abfangen.html)

daniel8520 9. Aug 2005 21:34


Tasten undabhänig vom Focus abfangen
 
Hallo,

ich hab jetzt schon im Forum gesucht, aber irgendwie war nie das richtige dabei. Ich beschreib euch am besten mal, was ich möchte:
Ich möchte, dass z.B. bei drücken von F5 eine ganz bestimmt Funktion ausgeführt wird. Nun geht das ja nicht im OnKeyPress vom Formular, da selbiges es ja nich wahrnimmt, wenn z.B. ein Edit den Focus hat.
Was ich also bräuchte, wäre eine Funktion die gloabl Tasten abfängt. Ich hatte da auch schon etwas gefunden, nur war das wieder etwas zu global. Es sollte nämlich nicht Fensterübergreifend funktionieren, da ich in einem anderen Fenster z.B. F5 für eine ganz anderer Funktion nutzen möchte.

Könnt ihr mir helfen, oder habt ihr mein Problem überthaupt verstanden?


Vielen Dank für eurer Antworten im Vorraus.

Jelly 9. Aug 2005 21:37

Re: Tasten undabhänig vom Focus abfangen
 
Du könntest eine Actionlist einsetzen, und eine Action mit dem ShortCut F5 erstellen. Die Action funktioniert nur in der Form.

daniel8520 9. Aug 2005 21:39

Re: Tasten undabhänig vom Focus abfangen
 
Ist ne echt gute Idee!
Danke!

SirThornberry 9. Aug 2005 21:39

Re: Tasten undabhänig vom Focus abfangen
 
du musst "KeyPreview" vom Formular auf True setzen, dann bekommst du auch wenn der Focus in einem Edit ist dort das OnKeyPress ausgelöst

freak24 9. Aug 2005 21:42

Re: Tasten undabhänig vom Focus abfangen
 
Einfacher wäre es doch die KeyPreview-Eigenschaft aus True zu setzen. :gruebel:

[Edit]Wo war der Kasten???[/Edit]

daniel8520 9. Aug 2005 21:44

Re: Tasten undabhänig vom Focus abfangen
 
Hey, cool!

Ich dachte echt, wenn ein Objekt den Focus hat, kann es das Formular nich erkennen.


Vielen Dank an euch!

:dp:

Jelly 9. Aug 2005 22:05

Re: Tasten undabhänig vom Focus abfangen
 
Zitat:

Zitat von freak24
Einfacher wäre es doch die KeyPreview-Eigenschaft aus True zu setzen. :gruebel:

F5 wird im OnKeyPress jedoch nicht abgefangen. Ich tendiere weiterhin für eine TAction.

daniel8520 9. Aug 2005 22:07

Re: Tasten undabhänig vom Focus abfangen
 
Zitat:

Zitat von Jelly
Zitat:

Zitat von freak24
Einfacher wäre es doch die KeyPreview-Eigenschaft aus True zu setzen. :gruebel:

F5 wird im OnKeyPress jedoch nicht abgefangen. Ich tendiere weiterhin für eine TAction.

Stimmt!

Alternativ hab ich jetzt OnKeyDown genommen. Spielt keine Rolle!

marabu 10. Aug 2005 06:25

Re: Tasten undabhänig vom Focus abfangen
 
Hallo Daniel,

Zitat:

Zitat von daniel8520
Es sollte nämlich nicht Fensterübergreifend funktionieren, da ich in einem anderen Fenster z.B. F5 für eine ganz anderer Funktion nutzen möchte.

du wirst das vielleicht nicht gerne lesen, aber in jedem Windows-Programm sollte die F5-Taste eine sofortige Aktualisierung der aktuellen Ansicht auslösen. Wenn du nur für dich selbst und zum Spaß programmierst, kannst du natürlich machen was du willst. Wenn dein Programm jemals auf einem fremden Rechner eingestzt werden soll, dann solltest du dich über die von Windows verwendeten shortcuts informieren. Das Schlüsselkonzept von Windows GUI Anwendungen schlechthin ist die einheitliche Benutzerschnittstelle. Wer mehr als ein Programm regelmäßig benutzt, der wird danach trachten, Programme, die dieses Konzept nicht umsetzen, durch gleichwertige konforme Programme zu ersetzen.

Wenn du deinem Programm einen professionellen Anstrich geben willst, dann definiere eine Action "Refresh" und weise diese mit dem shortcut F5 dem Hauptmenüpunkt "Ansicht:Aktualisieren" zu. Oder vergiss einfach was ich geschrieben habe.

Grüße vom marabu

PS: Trotz Standard konfigurierbare shortcuts machen insofern Sinn, dass deine Anwendung auch in Umgebungen integriert werden kann, die überwiegend keine "well behaved programs" aufweisen.

daniel8520 10. Aug 2005 11:17

Re: Tasten undabhänig vom Focus abfangen
 
@marabu

Leuchtet mir total ein, was du schreibst. Klar macht es Sinn bestimmten Funktionen in verschiedener Software durch den gleichen ShortCut erreichbar zu machen.
Vielleicht beschreib ich dir die Software kurz, damit du siehst, das eine Refresh-Aktion oder ähnliche ShortCuts keinen Sinn machen.
Die Software besteht aus einer Kundendatenbank, einer Produktdatenbank, und verbindet diese beiden dann schließlich in einer Bestelldatenbank. Ich schreibe die Software deshalb, weil wir im nächsten Schuljahr an unserer Schule einen Online-Shop eröffnen wollen. Meine Software soll dann quasi die Buchhaltung erleichtern. Um die Buchhaltung zu erleichetern, ist es, imho, wichtig, dass jede Funktion möglichst schnell erreichbar ist. So habe ich im MainForm z.B. die Fuktionen "Neuer Kunde", "Neues Produkt", "Neue Bestellung". Wenn ich über Schnelligkeit spreche, meine ich damit, dass der Benutzer, der u.U. auch ich selbst sein werde, möglichst wenig seine Hand von Tastur zur Maus bzw. umgekehrt bewegen muss. Also, belege ich die o.g. Funktionen mit ShortCuts.
Eine Refresh-Aktion, um mal beim Besipiel F5 zu bleiben, macht wirklich keinen Sinn, da hier nicht aktualisiert werden kann.

Also dann, man liest sich!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:29 Uhr.
Seite 1 von 2  1 2      

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