Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi RichEdit und rechte Maustaste (Kontextmenü) (https://www.delphipraxis.net/39846-richedit-und-rechte-maustaste-kontextmenue.html)

Opa Knack 8. Feb 2005 11:39


RichEdit und rechte Maustaste (Kontextmenü)
 
Hallo,

wenn ich in einem Editfeld die rechte Maustaste drücke, erscheint das altbekannte Kontextmenü mit Kopieren, Einfügen, ... . Drücke ich sie hingegen in einem RichEdit-Feld, passiert gar nichts. Ich finde aber auch keine Möglichkeit im OI, diese Funktion zu aktivieren.

Kann mir jemand einen Tipp geben, was ich da machen kann? Muß ich für jedes einzelne RichEdit (im kompletten Projekt ca. 10) einen OnEvent erstellen, oder geht das auch einfacher?

Ach so, falls das relevant ist: Ich arbeite mit Delphi 7

Danke
Opa

Sourcemaker 8. Feb 2005 12:46

Re: RichEdit und rechte Maustaste (Kontextmenü)
 
Hi,

probiere mal auf der Main-Form ein Kontextmenü mit den entsprechenden Funktionen zu erzeugen dieses
wird dann für alle Komponenten genommen die nicht explizit ein anderes zugewiesen haben.

Hier der Quellcode für die Menüpunkte
Delphi-Quellcode:
procedure TFMain.miKopierenClick(Sender: TObject);
begin
   TRichEdit(Screen.Activeform.ActiveControl).CopyToClipBoard;
end;

procedure TFMain.miEinfuegenClick(Sender: TObject);
begin
   TRichEdit(Screen.Activeform.ActiveControl).PasteFromClipBoard;
end;

procedure TFMain.miAusschneidenClick(Sender: TObject);
begin
   TRichEdit(Screen.Activeform.ActiveControl).CutToClipBoard;
end;

procedure TFMain.miAllesmarkierenClick(Sender: TObject);
begin
   TRichEdit(Screen.Activeform.ActiveControl).SelectAll;
end;

procedure TFMain.miLoeschenClick(Sender: TObject);
begin
   TRichEdit(Screen.Activeform.ActiveControl).ClearSelection;
end;

procedure TFMain.miRueckClick(Sender: TObject);
begin
   TRichEdit(Screen.Activeform.ActiveControl).Undo;
end;

procedure TFMain.StdKontextMenuPopup(Sender: TObject);
begin
   miRueck.Enabled       := TRichEdit(Screen.Activeform.ActiveControl).CanUndo;
   miLoeschen.Enabled    := TRichEdit(Screen.Activeform.ActiveControl).SelLength > 0;
   miAusschneiden.Enabled := miLoeschen.Enabled;
   miKopieren.Enabled    := miLoeschen.Enabled;
   miEinfuegen.Enabled   := Clipboard.HasFormat(CF_TEXT);
end;
Grüße

Frank

Luckie 8. Feb 2005 12:47

Re: RichEdit und rechte Maustaste (Kontextmenü)
 
Das RichEdit Controll hat kein Kontextmenü, mutu selber programmieren.

Opa Knack 8. Feb 2005 13:53

Re: RichEdit und rechte Maustaste (Kontextmenü)
 
Super! Genau das war's...

Danke
Opa


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