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 [Delphi 7] Shortcuts von MainForm --> Form2 (https://www.delphipraxis.net/180703-%5Bdelphi-7%5D-shortcuts-von-mainform-form2.html)

Rülps 10. Jun 2014 16:46

[Delphi 7] Shortcuts von MainForm --> Form2
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

verwirrender Titel? Ja, ich versuch's mal näher zu erklären. Ich hab' meiner SynEdit-Komponente über's Hauptmenü die üblichen Shortcuts zugewiesen (STRG + C --> Copy, STRG + X --> Cut, STRG + V --> Paste). Soweit so gut.

Ich zeige über Show eine zweiten Form, auf der ein Edit platziert ist. Wenn ich in diesem Editfeld einen Text markiere und beispielsweise STRG + V drücke, dann wird die Pastefunktion auf das SynEdit angewandt, obwohl der Fokus bei Form2 und der Editkomponente liegt.:gruebel:

Habe schon verschiedenes ausprobiert wie z.B. explizit den Fokus auf das Edit zu legen oder das Fenster modal anzeigen zu lassen, aber alle Editiershortcuts werden auf das SynEdit angewandt...

Kann hier jemand helfen?

himitsu 10. Jun 2014 17:09

AW: [Delphi 7] Shortcuts von MainForm --> Form2
 
Zitat:

Zitat von Rülps (Beitrag 1261848)
Ich hab' meiner SynEdit-Komponente über's Hauptmenü die üblichen Shortcuts zugewiesen (STRG + C --> Copy, STRG + X --> Cut, STRG + V --> Paste).

Wie hast du das gemacht?

Also Grundsätzlich sind scheinbar die ShortCuts der Form vorrangig, vor denen der Komponenten ... das ist also wie ein globaler Hotkey.
Wenn du jetzt in deinem STRG+C gesagt hast, daß dieses nur auf das SynEdit angewendet werden soll, dann wird das auch immer nur damit ausgeführt.

Rülps 10. Jun 2014 17:19

AW: [Delphi 7] Shortcuts von MainForm --> Form2
 
Also ich habe in die procedures der MainMenuItems den Code eingefügt:
Delphi-Quellcode:
procedure TfrmMain.mmiCutClick(Sender: TObject);
begin
  synMain.CutToClipboard;
end;

procedure TfrmMain.mmiCopyClick(Sender: TObject);
begin
  synMain.CopyToClipboard;
end;

procedure TfrmMain.mmiPasteClick(Sender: TObject);
begin
  synMain.PasteFromClipboard;
end;

procedure TfrmMain.mmiSelectAllClick(Sender: TObject);
begin
  synMain.SelectAll;
end;
Die Shortcuts habe ich über den Objektinspektor den MainMenuItems zugewiesen.

Perlsau 11. Jun 2014 05:15

AW: [Delphi 7] Shortcuts von MainForm --> Form2
 
Offenbar hast du nicht so recht verstanden, was Himitsu dir mitgeteilt hat: "Also Grundsätzlich sind scheinbar die ShortCuts der Form vorrangig, vor denen der Komponenten ... das ist also wie ein globaler Hotkey." Rufst du eine weitere Form nicht-modal auf, sind auch dort die in der Mainform vereinbarten Hotkeys gültig und daher auch von der Subform aus ausführbar. Entweder du nimmst einen anderen Hotkey oder du rufst die Subform modal auf:
Delphi-Quellcode:
MeinZweitesFormular.ShowModal;
Bei mir (Delphi 2009) funktioniert das so.

Dejan Vu 11. Jun 2014 07:14

AW: [Delphi 7] Shortcuts von MainForm --> Form2
 
Zitat:

Zitat von Perlsau (Beitrag 1261882)
...Entweder ...oder ....

... oder deine Hauptform weiß, wer gerade die Copy/Paste-Funktionen abbekommen soll und dann leitest du sie um.
... oder deine Hauptform deaktiviert die Copy/Paste-Funktionen, wenn es deaktiviert ist, und aktiviert sie, wenn sie wieder den Fokus hat.
... oder ... (weitere Ideen)?

himitsu 11. Jun 2014 07:53

AW: [Delphi 7] Shortcuts von MainForm --> Form2
 
Oder man nutzt die Standard-Actions, welche es für das Copy&Paste gibt, denn Diese gehen eben nicht auf ein bestimmtes Edit-Control, sondern auf das "ActiveControl" und sie deaktivieren sich sogar, wenn kein entsprechendes Edit-Control den Fokus hat.
(ich vermute mal, daß es diese TActions schon in D7 gab :gruebel:)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 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