Zmiana Caption w elementach tablicy dynamicznej

0

Witam,

Piszę grę w statki i mam problem ze zmianą wartości Caption Buttonów.
Nie mam już pomysłów jak można klikając na dowolny Button w tablicy zmienić jego Caption z "" na "X".

Tablica poprawnie jest wygenerowana. Kod załączam.
Dziękuje za pomoc:)

Pozdrawiam.

void __fastcall TForm3::FormCreate(TObject *Sender)
{
TButton* pl1[10][10];
    for (int i=0;i<10;++i)
    {     for (int j=0;j<10;++j)
           {
               pl1[i][j] = new TButton(this);
                pl1[i][j]->Caption ="";
                pl1[i][j]->Width=25;
                pl1[i][j]->Height=25;
                pl1[i][j]->Left=16+25*i;
                pl1[i][j]->Top=72+25*j;
                pl1[i][j]->Tag=0;
                pl1[i][j]->Parent = this;

dodanie znacznika <code class="cpp"> - @furious programming

1
  1. W sekcji prywatnej klasy Form3 dodaj:
void __fastcall pl1_ButtonClick(TObject *Sender);
  1. W pliku implementacji klasy Form3 dodaj:
void __fastcall TForm1::pl1_ButtonClick(TObject *Sender)
{
  ((TButton*)Sender)->Caption = "X";
}
  1. W pętli tworzacej buttony dodaj:
pl1[i][j]->OnClick = pl1_ButtonClick;
0

Ok, dzięki.

Wszystko ładnie działa.

Jeszcze mam drugie pytanie.
Jak mogę sprawić, że po kliknięciu na któryś z Buttonów zamiast jednego Buttona, np. 4 sztuki po kolei w tablicy przyjmują wartość Caption="X"? Jakaś pętla?

Pozdrawiam

0

W tablicy masz wskaźniki do każdego buttona. Jednak nie masz wskaźnika do tablicy. Nie zwracałem Ci wcześniej na to uwagi bo nie o to pytałeś. A teraz wyłażą niedociągnięcia projektu (jak dla mnie nie jedyne). Zatem zachowaj wskaźnik a będziesz miał możliwość modyfikowania stanu zawartych w niej buttonów. Można to obejść, ale na razie... to może być zbyt dla ciebie - tak widzę - skomplikowane.

1 użytkowników online, w tym zalogowanych: 0, gości: 1