Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Bei Klick auf MenuItem Tastendruck simulieren (https://www.delphipraxis.net/10875-bei-klick-auf-menuitem-tastendruck-simulieren.html)

Nalincah 27. Okt 2003 10:54


Bei Klick auf MenuItem Tastendruck simulieren
 
Wie kann ich bei einem MainMenu beim Klick auf ein Item einen Tastendruck simulieren. Leider gibts da keine Variable "Key" oder sowas..

Luckie 27. Okt 2003 11:09

Re: Bei Klick auf MenuItem Tastendruck simulieren
 
Zitat:

Willkommen beim Rätselraten in der Delphipraxis. Ihr Moderator heute, General2003, heißt sie herzlcih willkommen in seiner Sendung "Rate die Frage*". Dem Gewinner winkt ein virtueller Händedruck und die Erhöung seine Postingzählers. Viel Spaß und Erfolgt wünscht ihnen das Moderatoren Team von delphipraxis[dot]net.
Also, wenn du auf ein MenueItem klickst wird ein OnClick Ereginis ausgelöst. Soweit klar? Dies könnte man dazu nutzen irgendwie auf das Klicken zu reagieren und Code auszuführen. Alternativ kann man einem MenueItem einen Shortcut zuwweisen, so das man das OnClick Ereignis des MenueItems per Tastatur auslösen kann.
Sorry, das ist alles, was mir zu den Begriffen MenueItem und Taste einfällt. Mehr gibt diese dumme Glaskugek beim besten Willen auch nicht her.

*) Vormals bekannt unter: "Was will der Typ eigentlich von mir?"

Sharky 27. Okt 2003 11:09

Re: Bei Klick auf MenuItem Tastendruck simulieren
 
Zitat:

Zitat von General2003
Wie kann ich bei einem MainMenu beim Klick auf ein Item einen Tastendruck simulieren. Leider gibts da keine Variable "Key" oder sowas..

Hai General2003,

schaue mal in diesen Thread dort wurde das ausführlich besprochen.

Es ist davon abhängig "wer" den Tastendruck empfangen soll.

Nalincah 27. Okt 2003 11:19

Re: Bei Klick auf MenuItem Tastendruck simulieren
 
Zitat:

Zitat von Luckie
Zitat:

Willkommen beim Rätselraten in der Delphipraxis. Ihr Moderator heute, General2003, heißt sie herzlcih willkommen in seiner Sendung "Rate die Frage*". Dem Gewinner winkt ein virtueller Händedruck und die Erhöung seine Postingzählers. Viel Spaß und Erfolgt wünscht ihnen das Moderatoren Team von delphipraxis[dot]net.
Also, wenn du auf ein MenueItem klickst wird ein OnClick Ereginis ausgelöst. Soweit klar? Dies könnte man dazu nutzen irgendwie auf das Klicken zu reagieren und Code auszuführen. Alternativ kann man einem MenueItem einen Shortcut zuwweisen, so das man das OnClick Ereignis des MenueItems per Tastatur auslösen kann.
Sorry, das ist alles, was mir zu den Begriffen MenueItem und Taste einfällt. Mehr gibt diese dumme Glaskugek beim besten Willen auch nicht her.

*) Vormals bekannt unter: "Was will der Typ eigentlich von mir?"

1. Was willst du mir mit diesem Zitat sagen? Das mein Titel nicht aussagekräftig genug ist?
2. Du hast meine Frage glaub ich nicht ganz verstanden...Ich will nicht das MenuItem per Tastendruck aufrufen sondern ein Klick auf ein Menuitem soll einem Tastendruck entsprechend..Bspl: Alles Markieren. Dann soll der die Tasten STRG + A simulieren um alles zu markieren..Ich weiß, das geht auch mit Memo1.SelectAll, aber das war auch nur ein Beispiel

Luckie 27. Okt 2003 11:29

Re: Bei Klick auf MenuItem Tastendruck simulieren
 
Zitat:

Zitat von General2003
1. Was willst du mir mit diesem Zitat sagen?

Es ist kein Zitat. Habe ich mir eben ausgedacht.
Zitat:

2. Du hast meine Frage glaub ich nicht ganz verstanden...
Und exakt das soll es ausdrücken.
Zitat:

Ich will nicht das MenuItem per Tastendruck aufrufen sondern ein Klick auf ein Menuitem soll einem Tastendruck entsprechend..Bspl: Alles Markieren. Dann soll der die Tasten STRG + A simulieren um alles zu markieren..Ich weiß, das geht auch mit Memo1.SelectAll, aber das war auch nur ein Beispiel
Eigentlich immer noch nicht verständlicher. Aber so weit ich es bis jetzt beurteilen kann, hat es Sharky auch nicht verstanden.

Also etwas Pseudocode:
Code:
procedure foobar;
begin
  // irgendwas sinnvolles
end;

procedure TForm1.MeueItemOnClick(..);
begin
  foobar(); // Prozedur aufrufen
end;

procedure TForm1.Form1KeyPress(..)
begin
  foobar(); // Prozedur aufrufen
end;
Jetzt wird jedes mal der gleiche Code ausgeführt. Ist es das, was du willst?

Allerdings, das
Zitat:

Zitat von Quizzmaster
Dann soll der die Tasten STRG + A simulieren

Warum simulieren? Weis doch dem Menü diesen als Shortcut zu.

Also irgendwie bin ich immer noch nur am rumraten. Ich setzte mal den Publikumsjoker ein und warte ab, was die anderen so sagen.

Nalincah 27. Okt 2003 11:36

Re: Bei Klick auf MenuItem Tastendruck simulieren
 
Immer noch nicht...Also nochmal langsam :gruebel:

Bspl:

Delphi-Quellcode:
procedure TFrmMain.AllesMarkieren1Click(Sender: TObject);
begin
  Memo1.SelectAll;
end;
Wenn man jetzt im MainMenu auf "Alles Markieren" klick, wird der komplette Text im Memo1 markiert..
Ich will aber sowas haben (vom prinzip her)

Delphi-Quellcode:
procedure TFrmMain.AllesMarkieren1Click(Sender: TObject);
begin
  Memo1.SetFocus;
  Simuliere druck von "STRG + A" (Damit alles markiert wird)
end;
Ich hoffe das war verständlich..Wie kann man sowas realisieren???

sakura 27. Okt 2003 11:37

Re: Bei Klick auf MenuItem Tastendruck simulieren
 
Hi General,

das Memo reagiert aber gar nicht auf die Kombination. Das reagiert nur auf
Delphi-Quellcode:
Memo1.SelectAll;
...:cat:...

Christian Seehase 27. Okt 2003 11:42

Re: Bei Klick auf MenuItem Tastendruck simulieren
 
Moin Sebastian,

in den Thread den Sharky genannt hat ist das vom Prinzip her eigentlich schon beschrieben.
Bei Tastenkombinationen muss man diese allerdings einzeln schicken, also in etwas so:

Taste STRG wird gedrückt
Taste A wird gedrückt
Taste A wird losgelassen
Taste STRG wird losgelassen

Wichtig ist noch, dass man bei den Tasten A-Z ord(GROSSBUCHSTABE) als virtuellen Tastencode übergibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:23 Uhr.

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