Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Tastendruck per Mausklick ??? (https://www.delphipraxis.net/78285-tastendruck-per-mausklick.html)

-=cats=- 2. Okt 2006 15:08


Tastendruck per Mausklick ???
 
Hi :zwinker:

Ich habe ein kleines Problem.
In meinem Prog gibt es einen SpeedButton.
Wenn dieser geklickt wird, dann soll das gleiche passieren,
wie wenn die ESC-Taste gedrückt wird.

Geht sowas ?? :coder2:

Falls ja, wie mache ich das am besten ?

Gruß,
-=cats=- :coder:

Hawkeye219 2. Okt 2006 15:30

Re: Tastendruck per Mausklick ???
 
Hallo -=cats=-,

in Delphi gibt es auch für dieses Problem eine Lösung: Delphi-Referenz durchsuchenTActionList und Delphi-Referenz durchsuchenTAction.

Gruß Hawkeye

Klaus01 2. Okt 2006 15:32

Re: Tastendruck per Mausklick ???
 
.. oder mit sendkeys -> http://www.delphipraxis.net/internal...light=sendkeys

Escape sollte dan #27 sein.

Grüße
Klaus

-=cats=- 4. Okt 2006 07:16

Re: Tastendruck per Mausklick ???
 
Also, ich habe jetzt mal so eine ActionList
eingefügt ...
Leider kenne ich mich damit überhaupt nicht aus.

Ich habe erst mal eine neue Aktion hinzugefügt.
Und der kann ich ja jetzt bei OnExecute etwas
zuweisen.

Nur, wie weise ich da jetzt die ESC-Taste zu ??
Da gibt es ja nichts mit Key ...

Kann mir da jemand weiter helfen ?

Sorry, ich bin noch totaler Anfänger :shock:

-=cats=-

Ach so ... und weißt vielleicht jemand, warum das Bild
auf meinem SpeedButton verrutscht, sobald ich diesem
Button die ActionList zuweise ?

Vielen Dank schon mal für die Hilfe :)

Hawkeye219 4. Okt 2006 08:16

Re: Tastendruck per Mausklick ???
 
Hallo -=cats=-,

jede TAction-Komponente besitzt eine Eigenschaft .ShortCut, für die du über den Objektinspektor eine Tastenkombination auswählen bzw. eintragen kannst. Ebenso gibt es eine Eigenschaft .ImageIndex, welche einen Bildindex aufnimmt. Der Bildindex bezieht sich dabei auf die ImageListe, die du in Delphi-Referenz durchsuchenTActionList.Images angegeben hast.
Wenn du ein Control (z.B. TButton) mit einer Action verbindest (Eigenschaft Delphi-Referenz durchsuchenTButton.Action), übernimmt das Control die passenden Eigenschaftswerte (Caption, Enabled, ImageIndex,...) der Action.

Gruß Hawkeye

Nils_13 4. Okt 2006 08:21

Re: Tastendruck per Mausklick ???
 
Warum nicht einfach den Befehl in Button.Click schreiben und dann z.B. in OnKeyDown so etwas ? Oder irre ich mich ?
Delphi-Quellcode:
if Key = VK_ESCAPE then
  Button1Click(Sender);
oder
Delphi-Quellcode:
if Key = VK_ESCAPE then
  Button1.Click;

Hawkeye219 4. Okt 2006 08:39

Re: Tastendruck per Mausklick ???
 
Hallo Nils,

die TAction-Komponente bietet mit den Ereignis .OnUpdate eine sehr einfache Möglichkeit, die Verfügbarkeit eines Befehls zu steuern, indem in der Behandlungsroutine für das Ereignis die Eigenschaft .Enabled der Action geeignet gesetzt wird. Damit werden gleichzeitig alle verbundenen Controls aktiviert bzw. deaktiviert. Wie machst du das in der OnKeyDown-Behandlung ohne Action?

Gruß Hawkeye

Nils_13 4. Okt 2006 08:42

Re: Tastendruck per Mausklick ???
 
Naja, bleibt es bei einer Taste, lasse ich die ActionList für gewöhnlich weg.

-=cats=- 4. Okt 2006 09:45

Re: Tastendruck per Mausklick ???
 
Hi :)

Erst mal vielen Dank für die Hilfe !!
Das hat mir echt weiter geholfen !

Nils: Also, das mit dem Klicken, das geht glaub ich nicht.
Denn man soll keine Taste benutzen. Der Button soll
die Taste simulieren. Deswegen kann ich ja nicht abfragen,
ob die Taste gedrückt wurde, es gibt nämlich keine Tasten.

:coder:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:25 Uhr.

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