Jako że moj ostatni temat zniknal :( zakladam nowy.
Chodzio o to by dynamicznie wygenerowane obrazki reagowały na nacisniecie tzn. zeby zmieniał sie picture na nich i najlepiej w zaleznosci czy kliknieto lewy czy prawy przycisk myszy to wyswietla sie poprzednia albo nastepny obrazek.
PROCEDURA GENERUJACA OBRAZKI:
procedure ImageGenerate;
var
c,l:smallint;
begin
x:=51; y:=9;
for c:=1 to 12 do
begin
for l:=1 to 4 do
begin
Peg[c,l]:=TImage.Create(form1);
Peg[c,l].Parent:=form1;
Peg[c,l].Left:=x;
Peg[c,l].Top:=y;
Peg[c,l].Height:=32;
Peg[c,l].Width:=32;
Peg[c,l].Visible:=true;
Peg[c,l].Tag:=c*12+l+400;
x:=x+32;
end;
y:=y+35; x:=51;
end;
end;
kazdemu obrazkowi nadaje unikalny Tag jak podpowiedział mi kolega Adamo. Teraz procedura odczytujaca klikniecia:
procedure TForm1.MouseDown(Sender: TObject);
var
a,b: smallint;
begin
if Sender is TImage then
with (Sender as TImage) do
begin
a:=(Tag-400 mod 12);
b:=(Tag-400 div 12);
GameArray[a,b]:=GameArray[a,b]+1;
GameArray[a,b]:=(GameArray[a,b] mod 8);
if GameArray[a,b]=0 then GameArray[a,b]:=8;
Peg[a,b].Picture.LoadFromFile(ColorArray[5]);
end;
end;
ColorArray jest tablica stringów, n a r a z i e (musze to tak napisac bo jakos system forum mi tego nie przpuszcza) dla sprawdzenia chcialem aby obrazek zmienial sie na 5-ty obrazek z tablicy ColorArray. Ale to niestety nie działa i nie wiem jak to napisac zeby zadziałało, ktos pomoze.
// Primo: posty nie znikają bez powodu, secundo: do oznaczania źródeł w delphi używaj tagu, no jakiego?, oczywiście, że <d e="e" l="l" p="p" h="h" i="i"> -Q