Einzelnen Beitrag anzeigen

mcinternet

Registriert seit: 22. Apr 2010
Ort: Odenwald
193 Beiträge
 
Delphi 10.3 Rio
 
#1

TNotifyEvent durchreichen?

  Alt 29. Mär 2019, 10:38
Hallo,

ich habe hier eine Klasse, welche einfach eine RadioGroup erzeugt:

Code:
  TDruckerAuswahl = Class
    procedure GDruckerAuswahlClick(Sender: TObject);
    private
      fGDruckerAusWahl : TRadioGroup;
      fDrucker : String;
      fSettigsFileName : String;
      fPEvent : TNotifyEvent;
    public
      Constructor Create(SettigsFileName : String; DPanel : TPanel);
      Destructor Destroy;
    Published
      Property DruckerAusWahl : TRadioGroup read fGDruckerAusWahl write fGDruckerAusWahl;
      Property Drucker : String read fDrucker write fDrucker;
      Property OnClick : TNotifyEvent read fPEvent write fPEvent;
  End;
Der Constructor dazu:

Code:
Constructor TDruckerAuswahl.Create(SettigsFileName : String; DPanel : TPanel);
  var qr : TQuickRep;

begin
  fSettigsFileName := SettigsFileName;
  fGDruckerAusWahl := TRadioGroup.Create(DPanel);
  fGDruckerAusWahl.Parent := DPanel;
  qr := TQuickRep.CreateNew(nil);
  qr.Prepare;
  fGDruckerAusWahl.Items := qr.QRPrinter.Printers;
  freeandnil(qr);
  fGDruckerAusWahl.Align := alClient;
  fGDruckerAusWahl.Caption := ' Druckerauswahl';
  fGDruckerAusWahl.Show;
  fGDruckerAusWahl.OnClick := GDruckerAuswahlClick;
  fDrucker := GetPrinter(fSettigsFileName);
end;
Hier nun der aufrufende Programmteil:
Code:
    DruckerListe := TDruckerAuswahl.Create(fglobals.Settingsfile, PanPrinters);
    DruckerListe.OnClick := PanPrintersClick;
Zur Erklärung:

diese Klasse setzt als Parent ein TPanel voraus. Bei diesem TPanel benötige ich ein Event, welches ich dem aufrufenden Programm durchreichen kann.
Also im Prinzip das "GDruckerAuswahlClick" (Klick auf die RadioGroup)

Hat jemand eine Idee?

Gruss

mcinternet
Jörg
  Mit Zitat antworten Zitat