![]() |
TLabel soll in SEINEM Record was ändern
Ich habe ein Record mit TLabels und ein paar anderen "gedönst" ;)
Delphi-Quellcode:
Nun möchte ich, dass wenn auch LData geklickt wird (LData ist im Sender), das in seinem Record das Clicked geändert wird:
var RData : array [1..6] of array [1..20] of record
LData : TLabel; Clicked, Used : Boolean; Points : Byte; Index : TPoint; end;
Delphi-Quellcode:
Muss jetzt anstelle von {Sein Record} ein "Parent" rein? Dann würde aber die Form kommen, wenn mich nicht alles irrt (Zeile 8!):
(Sender as TLabel).{Sein Record}.Clicked := true;
Delphi-Quellcode:
{Im OnCreate}
for i := 1 to 6 do for j := 1 to 20 do begin RData[i][j].LData := TLabel.Create(self); with RData[i][j] do begin with LData do begin Caption := '0'; Parent := FKniffel; //Hier steht die Form case j of 1..8 : begin ManTop := 16; Tag := j; end; 9..16 : ManTop := 32; 17 : ManTop := 48; 18 : ManTop := 40; 19 : ManTop := 32; 20 : ManTop := 30; end; Top := ManTop + j * 24; Left := 72 + i * 32; OnClick := LDataClick; end; Points := 0; Used := false; Clicked := false; Index := Point(i,j); end; end; |
Re: TLabel soll in SEINEM Record was ändern
Bastel dir lieber ne Klasse für sowas...
Ansonsten könntest du nen Pointer auf das Record im Tag des Labels speichern und dann wieder auslesen. |
Re: TLabel soll in SEINEM Record was ändern
Ich würde im Ldata.tag die Indizes des Rdata-Record ablegen in der Form
Delphi-Quellcode:
. Den wert kannst du beim onClick dann mit
.Tag := x*100+y;
Delphi-Quellcode:
bzw
Tag DIV 100
Delphi-Quellcode:
wieder auflösen.
Tag MOD 100
|
Re: TLabel soll in SEINEM Record was ändern
Also ich finde 3_of_8s Lösung etwas einfacher und vorallem effektiver. Wenn du dir keine eigene Klasse bauen willst, kannst du ja, wie 3_of_8 schon sagte, einen Pointer auf den Record im Tag des Labels speichern.
Grüße Faux |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:22 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