Delphi-PRAXiS
Seite 1 von 2  1 2      

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/)
-   -   Panel Klick in aufgerufenem Formular abfragen (https://www.delphipraxis.net/185999-panel-klick-aufgerufenem-formular-abfragen.html)

khh 26. Jul 2015 08:23

Panel Klick in aufgerufenem Formular abfragen
 
Hallo zusammen, wie kann ich den Klick auf ein Panel im aufgerufenen Form abfragen.
Modalresult hat das Panel ja nicht :-(

Helmi 26. Jul 2015 08:28

AW: Panel Klick in aufgerufenem Formular abfragen
 
Hallo,

gibt´s in Lazarus kein OnClick-Event bei dem Panel?
In Delphi gibt es das (jedenfalls XE2)

khh 26. Jul 2015 08:33

AW: Panel Klick in aufgerufenem Formular abfragen
 
ja, das gibts schon, aber wie bekomme ich den in die aufrufende proc ausserhalb der form?
So nach der art Form1.panel1.click ?

Helmi 26. Jul 2015 08:43

AW: Panel Klick in aufgerufenem Formular abfragen
 
direkt gar nicht

verpass der Form eine Event dafür:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Panel1: TPanel;
    procedure Panel1Click(Sender: TObject);
  private
    { Private-Deklarationen }
    FOnPanelClick: TNotifyEvent;
  public
    { Public-Deklarationen }
  property
    OnPanelClick: TNotifyEvent read FOnPanelClick write FOnPanelClick;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Panel1Click(Sender: TObject);
begin
  If Assigned(OnPanelClick) then
    OnPanelClick(Sender);
end;
Und in der übergeordneten Form reagierst du auf das Event OnPanelClick der Form

Sir Rufo 26. Jul 2015 08:44

AW: Panel Klick in aufgerufenem Formular abfragen
 
Irgendwie kann ich dir nicht folgen, was du eigentlich willst.

Möchtest du, dass bei einem Klick auf das Panel der ModalResult der Form geändert wird?
(Was dann zur Folge hat, dass die modal aufgerufene Form geschlossen wird)

khh 26. Jul 2015 08:56

AW: Panel Klick in aufgerufenem Formular abfragen
 
nein, ich möchte im aufrufenden Form auf den PanelKlick im aufgerufenen Form reagieren.
Hab das bis jetzt so gelöst, dass ich im aufgerufenen Form eine Variable setze und im aufrufenden Form abfrage, um darauf zu reagieren.
Meine Frage nun, gibts da einfachere, bessere Lösungen ?

Helmi 26. Jul 2015 08:59

AW: Panel Klick in aufgerufenem Formular abfragen
 
Zitat:

Zitat von khh (Beitrag 1309853)
nein, ich möchte im aufrufenden Form auf den PanelKlick im aufgerufenen Form reagieren.
Hab das bis jetzt so gelöst, dass ich im aufgerufenen Form eine Variable setze und im aufrufenden Form abfrage, um darauf zu reagieren.
Meine Frage nun, gibts da einfachere, bessere Lösungen ?

Was spricht gegen meine Lösung?

khh 26. Jul 2015 08:59

AW: Panel Klick in aufgerufenem Formular abfragen
 
Zitat:

Zitat von Helmi (Beitrag 1309854)
Zitat:

Zitat von khh (Beitrag 1309853)
nein, ich möchte im aufrufenden Form auf den PanelKlick im aufgerufenen Form reagieren.
Hab das bis jetzt so gelöst, dass ich im aufgerufenen Form eine Variable setze und im aufrufenden Form abfrage, um darauf zu reagieren.
Meine Frage nun, gibts da einfachere, bessere Lösungen ?

Was spricht gegen meine Lösung?

sorry, die hab ich noch gar nicht gesehen ;-)

Sir Rufo 26. Jul 2015 09:04

AW: Panel Klick in aufgerufenem Formular abfragen
 
Delphi-Quellcode:
procedure TCallingForm.FormCreate( Sender: TObject );
begin
  FSubForm := TSubForm.Create( Self );
  FSubForm.Panel1.OnClick := SubFormPanel1Click;
end;

procedure TCallingForm.SubFormPanel1Click( Sender: TObject );
begin
  // Do whatever
end;

Helmi 26. Jul 2015 09:08

AW: Panel Klick in aufgerufenem Formular abfragen
 
Zitat:

Zitat von Sir Rufo (Beitrag 1309857)
Delphi-Quellcode:
procedure TCallingForm.FormCreate( Sender: TObject );
begin
  FSubForm := TSubForm.Create( Self );
  FSubForm.Panel1.OnClick := SubFormPanel1Click;
end;

procedure TCallingForm.SubFormPanel1Click( Sender: TObject );
begin
  // Do whatever
end;

ist aber ned schön - dafür selten...


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:12 Uhr.
Seite 1 von 2  1 2      

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