Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - zweidimensionales Array
klabri - Mi 19.11.08 14:55
Titel: zweidimensionales Array
Hallo,
ich habe ein zweidimensionales Label-Array ,dass zur Laufzeit erstellt wird
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| for x:= 1 to 8 do begin for y:= 1 to 8 do begin l[x][y]:TLabel.Create(frmMain); l[x][y].Parent :=frmMain l[x][y].Color:=clred; l[x][y].OnClick...............???????????? end; end; |
die Labels werden schachbrettartig ausgegeben.
Ich möchte auf ein Label clicken und es soll einfach
nur seine Farbe ändern,von rot nach gelb;
Ich finde nirgendwo eine Lösung für dieses OnClick-Ereignis.
freedy - Mi 19.11.08 15:07
Hi,
definiere dir einfach selbst eine Prozedur
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure OnLabelClick(Sender : TObject); begin if Sender is TLabel then begin TLabel(Sender).Color := clRed; end; end; |
Die weist du dann einen Labels zu.
Grüße
klabri - Mi 19.11.08 15:22
Hallo freedy,
dass funktioniert super,danke!!
Dieses Forum ist wirklich super !!
klabri - Mi 19.11.08 15:58
Hallo,
ich habe noch eine Frage:
ich möchte den x und den y-Wert von l[x][y] bei Click auf das
Label in einer ListBox ausgeben lassen;
freedy - Mi 19.11.08 16:18
Wenn du das Tag-Property nicht benötigst könntest du folgendes machen:
Delphi-Quelltext
1:
| l[x][y].Tag := x * 10 + y; |
Für die Auswertung verfährst du umgekehrt.
Delphi-Quelltext
1: 2:
| y := TLabel(Sender).Tag mod 10; x := (TLabel(Sender).Tag - y) div 10; |
Ob es gut ist, lasse ich mal im Raum stehen. ;-)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!