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 Actions RichEdit Buttons (https://www.delphipraxis.net/212321-actions-richedit-buttons.html)

haentschman 25. Jan 2023 09:17

Actions RichEdit Buttons
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallöle...:P

Ich habe einen Frame für die Eingabe von RichtText. Funktioniert auch alles...:wink: Der Frame hat Standard Actions "implementiert".

Mir ist aber aufgefallen, das die Frames (separate Instanzen) immer den gleichen Button "Status" der Action anzeigen. :shock: Gefühlt ist der Status wie global...:gruebel:

Ist das korrekt? Wenn nein... nach was muß ich suchen?

Danke :wink:

Uwe Raabe 25. Jan 2023 09:51

AW: Actions RichEdit Buttons
 
Dem Control Property der jeweiligen Action ist das entsprechende RichEdit zugewiesen?

haentschman 25. Jan 2023 11:00

AW: Actions RichEdit Buttons
 
Liste der Anhänge anzeigen (Anzahl: 1)
Danke...:P

Leider verstehe ich das nicht. Die Action hat kein "Control"...:gruebel:

Redeemer 25. Jan 2023 11:59

AW: Actions RichEdit Buttons
 
Delphi-Referenz durchsuchenTEditAction.Control ist public und nicht published. Ist so eine Krux wie früher mit DoubleBuffered, was damals aus unerfindlichen Gründen auch nur public war.

Uwe Raabe 25. Jan 2023 12:03

AW: Actions RichEdit Buttons
 
Wenn das Control Property nicht gesetzt ist, verwendet die Action das aktuell fokussierte TRichEdit:
Delphi-Quellcode:
function TRichEditAction.HandlesTarget(Target: TObject): Boolean;
begin
  Result := ((Control <> nil) and (Target = Control) or
    (Control = nil) and (Target is TCustomRichEdit)) and TCustomRichEdit(Target).Focused;
end;

haentschman 25. Jan 2023 12:44

AW: Actions RichEdit Buttons
 
:gruebel: Das heißt, ich muß einmalig die Actions (Create) durchgehen und die entsprechenden mit dem RichEdit "verheiraten"?

Uwe Raabe 25. Jan 2023 12:49

AW: Actions RichEdit Buttons
 
Das sollte reichen.

haentschman 25. Jan 2023 14:09

AW: Actions RichEdit Buttons
 
Liste der Anhänge anzeigen (Anzahl: 1)
Danke...8-)

damit funktioniert es. :cheer:
Delphi-Quellcode:
constructor TfrRTFBase.Create(AOwner: TComponent; Preferences: TPreferences; FrameName: string);
begin
  inherited Create(AOwner);
...
  SetActionToControl(edtRTF);
...
end;

procedure TfrRTFBase.SetActionToControl(RichEdit: TDBRichEdit);
var
  I: Integer;
  Action: TEditAction;
begin
  for I := 0 to actlstRTF.ActionCount - 1 do
  begin
    Action := TEditAction(actlstRTF.Actions[I]);
    Action.Control := RichEdit;
  end;
end;
...ich bin wie immer begeistert. :cheers:


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