Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi woher kommt der Click - PopupMenü (https://www.delphipraxis.net/94509-woher-kommt-der-click-popupmenue.html)

moelski 22. Jun 2007 13:20


woher kommt der Click - PopupMenü
 
Moin !

Habe da gerade ein Problem und stehe aufm Schlauch vermutlich ...

Also ich kann in einer Anwendung RTF Felder (WPTools) erstellen lassen. Und zwar so:
Delphi-Quellcode:
procedure TForm1.CreateRTF();
begin
    RTF            := TWPRichText.Create(Self);
    RTF.Parent     := Self;
    RTF.Left       := Size.Left;
    RTF.Top        := Size.Top + 24;
    RTF.Width      := Size.Right - Size.Left;
    RTF.Height     := Size.Bottom - Size.Top;
    RTF.LayOutMode := wplayNormal;
    RTF.PopupMenu  := AdvPopupMenu1;
    RTF.ActionList := Form3.ActionList1;
    RTF.WordWrap   := True;
end;
Wie man sieht wird dort PopupMenu := AdvPopupMenu1 gesetzt. Bedeutet es gibt in dem RTF ein PopupMenu.
Soweit alles gut.

Nun öffne ich in einem erstllten Menü das Popup und wähle eine Funktion aus. Wie kriege ich nun aber raus zu welchem erstellten RTF das gerade gehört?

Also bsp: ich habe 2 RTFs erstellt. Die Funktion hinter dem PopupMenü Eintrag muss aber wissen auf welches RTF das nun angewendet werden soll.

Oder kann man das evtl. über das PopupMenü erfahren. Also quasi wo es geöffnet wurde bzw. für wen ?! :gruebel:

Aike 22. Jun 2007 13:31

Re: woher kommt der Click - PopupMenü
 
Kannst du bei "RTF.PopupMenu:=AdvPopupMenu1;" nicht einfach noch einen Parameter a la "Sender" einbauen?

moelski 22. Jun 2007 13:34

Re: woher kommt der Click - PopupMenü
 
Moin !

Zitat:

Kannst du bei "RTF.PopupMenu:=AdvPopupMenu1;" nicht einfach noch einen Parameter a la "Sender" einbauen?
Öhm das Popup ist aber beiden zugeordnet. Also würde das nix bringen denke ich.

Und ich glaube auch nicht dass das überhaupt geht .... Denn RTF.PopupMenu erwartet nunmal ein PopupMenü ohne Parameter ...

ChrisE 22. Jun 2007 13:53

Re: woher kommt der Click - PopupMenü
 
Hallo Moelski,

wenn ich dich richtig verstehe, erzeugst du eine oder mehrere WPRichText-Komponente auf deinem Form an einer irgendeiner Stelle und es können mehrere dieser RTF-Komponenten da sein. "Alle" haben aber dieses Popupmenu.

Nun, die WPRichText-Komponente erhält ja den Focus wenn du darauf klickst - unabhängig ob Rechtsklick oder Linksklick. Somit sollte die AktiveControl mit einer abfrage wie
Delphi-Quellcode:
if ActiveControl is TWPRichText then begin
  with ActiveControl as TWPRichText do begin
    // tu was immer du tun möchtest
  end else begin
    // Fehlermeldung, da Popup ohne die entsprechende Komponente
  end;
end;
die Lösung bringen. Nicht getestet. Nur einfach drauf los gehackt.

Gruß, Chris

moelski 22. Jun 2007 13:56

Re: woher kommt der Click - PopupMenü
 
Moin !

Ahhh, das schaut funktionstüchtig aus.
Werde ich testen und mich ggf. noch mal melden !

DANKE ! :hi:

moelski 22. Jun 2007 14:02

Re: woher kommt der Click - PopupMenü
 
Geht astrein.

Nochmals Danke !


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