![]() |
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. |
Re: Panel-Feld
das Panel bekommst Du im OnClick über den Sender.
z.B.
Delphi-Quellcode:
Roderich
if (Sender is TPanel) then
with Sender as TPanel do |
Re: Panel-Feld
Wie muss ich das denn als Prozedur deklarieren. Einfach in ein OnClick Ereignis der Panels einbinden ?
|
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:
Jetzt weist du über den Objektinspektor jedem Panel genau diese Prozedur zu (Objektinspektor -> Ereignisse -> OnClick -> PanelAction).
type
TForm1 = class(TForm) procedure PanelAction(Sender: TObject); 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; |
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 07:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz