Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Panel-Feld (https://www.delphipraxis.net/17759-panel-feld.html)

Nick Phoenix 9. Mär 2004 14:07


Panel-Feld
 
Hallo Leude :hi:
Für ein Spiel habe ich eine Spielfläche, die aus 24*24 Panels besteht. Gibt es eine Möglichkeit mit einer einzigen Prozedur herauszufinden auf welches Panel geklickt wurde oder muss ich umständlich für jedes einzelne Panel eine OnClick prozedur schreiben.

roderich 9. Mär 2004 14:10

Re: Panel-Feld
 
das Panel bekommst Du im OnClick über den Sender.

z.B.
Delphi-Quellcode:
  if (Sender is TPanel) then
    with Sender as TPanel do
Roderich

Nick Phoenix 9. Mär 2004 14:14

Re: Panel-Feld
 
Wie muss ich das denn als Prozedur deklarieren. Einfach in ein OnClick Ereignis der Panels einbinden ?

Wheelie 9. Mär 2004 15:00

Re: Panel-Feld
 
Du schreibst einfach eine Prozedur wie z.B. procedure TForm1.PanelAction(Sender: TObject); und bindest diese im Interface-Teil der Unit ein:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    procedure PanelAction(Sender: TObject);
Jetzt weist du über den Objektinspektor jedem Panel genau diese Prozedur zu (Objektinspektor -> Ereignisse -> OnClick -> PanelAction).

Die Prozedur sollte wie von roderich schon erläutert beschrieben werden:

Delphi-Quellcode:
  if (Sender is TPanel) then
    with Sender as TPanel do
    begin
      Caption := 'Hallo!';
    end;

hboy 8. Apr 2004 17:49

Re: Panel-Feld
 
du kannst auch die Message abfangen. Wie das geht findest du bestimmt hier im Forum.


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