Einzelnen Beitrag anzeigen

MorrisF

Registriert seit: 3. Apr 2019
41 Beiträge
 
#1

"OnClick" Ereignis in Frame auslösen

  Alt 3. Apr 2019, 12:35
Hallo ihr lieben Bewohner des Delphi-PRAXIS Forums,

ich habe folgende Grundsituation:

Ich habe ein Formular und eine Frame-Unit. Den Frame habe ich auf das Formular gepackt. Nun habe ich auf dem Frame einen Button und wenn der gedrückt wird, soll sich ein Label auf dem Formular ändern (damit man sieht, obs geklappt hat).

Hier der Code für Das OnClick Event des Buttons im Frame:
Delphi-Quellcode:
procedure TFrame_ButtonTest.BtnClickMeClick(Sender: TObject);
begin
  try
    Self.OnClick(Self);
  except
    on e: Exception do
    begin
      ShowMessage('Fehler in BtnClickMeClick(): ' + e.Message);
    end;
  end;
end;
Und hier der Code im Hauptformular:
Delphi-Quellcode:
procedure TDialog_MainUnit.FormCreate(Sender: TObject);
var
  tmpFrame: TFrame_ButtonTest;
  tmpSender: TObject;
begin
  try
    tmpFrame := TFrame_ButtonTest.Create(self);
    try
      if Assigned(tmpFrame) then
      begin
        tmpFrame.BtnClickMe.OnClick := FrameButtonClick(tmpSender);
        tmpFrame.BtnClickMeClick(tmpSender) := FrameButtonClick(tmpSender);
        //beide Varianten gehen nicht
      end;
    finally
      tmpFrame.Free;
    end;
  except
    on e: Exception do
    begin
      ShowMessage('Fehler in FormCreate(): ' + e.Message);
    end;
  end;
end

procedure TDialog_MainUnit.FrameButtonClick(Sender: TObject);
begin
  try
    LblText.Caption := 'Dat geht gut!';
  except
    on e: Exception do
    begin
      ShowMessage('Fehler in FrameButtonClick(): ' + e.Message);
    end;
  end;
end;
Meine Frage nun:
Wie kann ich das OnClick Event vom Button im Frame der Prozedur "FrameButtonClick()" im Hautpformular zuweisen?
Oder gibt es einen einfacheren Weg, um den Text auf dem Label im Hautpformular per Klick auf den Button im Frame zu ändern?

Vielen Dank im Voraus für eure Antworten und Ratschläge.
MFG
Morris F.

Geändert von MorrisF ( 3. Apr 2019 um 12:42 Uhr)
  Mit Zitat antworten Zitat