AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

"Alles markieren" mit 2 Memos

Ein Thema von MCXSC · begonnen am 21. Jul 2007 · letzter Beitrag vom 21. Jul 2007
Antwort Antwort
MCXSC
(Gast)

n/a Beiträge
 
#1

"Alles markieren" mit 2 Memos

  Alt 21. Jul 2007, 01:31
Hallo,

folgendes:

Ich habe mehrere Memos auf meiner Form (Bsp: Memo1, Memo2, Memo3).

Nun möchte ich, dass beim beim Drücken von z.B. Strg+A der komplette Text in dem aktuellen Memo markiert wird, bzw. nichts passiert, wenn der Cursor sich nicht in einem der Memo-Felder befindet.

Alledings habe ich es nicht hinbekommen und auch nicht wirklich etwas gefunden... Nun hoffe ich, dass mir hier jemand helfen kann...

Hf,
Marcel
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: "Alles markieren" mit 2 Memos

  Alt 21. Jul 2007, 02:08
Moin Marcel,

die Eigenschaft KeyPreview des Formulares auf true setzen, und dann im OnKeyUp-Event des Formulares:

Delphi-Quellcode:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (ActiveControl.ClassType <> TMemo) then Exit;
  if not (Shift = [ssCtrl]) then Exit;
  if Key = Ord('A') then (ActiveControl as TMemo).SelectAll;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#3

Re: "Alles markieren" mit 2 Memos

  Alt 21. Jul 2007, 02:54
Hey, das ging ja schnell

Ein riesen Dankeschön... Ich hab es irgendwie immer mit dem OnKeyPress versucht gehabt...

Jetzt kann ich ja beruhigt schlafen gehen...

Grüße,
Marcel
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: "Alles markieren" mit 2 Memos

  Alt 21. Jul 2007, 10:12
Moin ihr beiden,

jedes meiner GUI-Programme folgt dem CUA-Ansatz und hat deshalb eine ActionList und ein MainMenu. Da jedes Programm die Zwischenablage unterstützen muss, habe ich auch immer ein EditMenu als MainMenu-Item. Ein SubMenu-Item im EditMenu verknüpfe ich dann mit der Standardaktion TEditSelectAll und alles andere geschieht von selbst - keine Zeile eigener Code notwendig. Das Default-Kontextmenü der Memos braucht keine Behandlung, da dort der Befehl bereits enthalten ist. Dieser Ansatz funktioniert mit allen Komponenten, die von TCustomEdit abgeleitet wurden, wie auch z.B. TRichEdit.

Freundliche Grüße
Angehängte Dateien
Dateityp: zip strg-a_737.zip (1,7 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#5

Re: "Alles markieren" mit 2 Memos

  Alt 21. Jul 2007, 10:22
Ja, wie es geht ist schon klar.

Aber ich habe eben 3 Edit-Felder, und ich muss ja wissen, in welchem Memo der Cursor steht, da immer nur das markiert werden soll... Deswegen reicht ein Action Menü und die Zeile "Memo1.SelectAll" alleine nicht aus...

Und welches Default-Kontextmenü? oO
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: "Alles markieren" mit 2 Memos

  Alt 21. Jul 2007, 11:20
Hi Marcel,

Zitat von MCXSC:
Ja, wie es geht ist schon klar.
das glaube ich dir nicht.

Zitat von MCXSC:
Aber ich habe eben 3 Edit-Felder, und ich muss ja wissen, in welchem Memo der Cursor steht, da immer nur das markiert werden soll...
Genau wegen dieser Aussage glaube ich dir nicht.

Die Demo hat drei Edit-Felder verschiedener Ausprägung und tut genau das was du willst, wenn ich deine Beschreibung in Beitrag #1 zu Grunde lege.

Zitat von MCXSC:
Deswegen reicht ein Action Menü und die Zeile "Memo1.SelectAll" alleine nicht aus...
In der Demo gibt es keine einzige Zeile eigenen Code. Alles wird durch die beteiligten Komponenten selbst erledigt.

Zitat von MCXSC:
Und welches Default-Kontextmenü? oO
Die Komponente TEdit kapselt ein Windows Edit Control und jedes Windows Control hat seine eigene Fensterklasse mit eigenem Window Class Menu, welches du über die property PopupMenu ersetzen kannst, aber in der Regel nicht musst.

Der Code von Chris funktioniert für dich, also bleibe dabei. Mein Beispiel dokumentiert eine "alternative" Vorgehensweise, die von Profis weltweit benutzt wird. Ich verwette meine letzten Haare, dass auch Chris diese Technik oft verwendet.

Freundliche Grüße
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:16 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