[C++Builder] Dynamiczny button->zdarzenie->problem

0

Tworzę dynamicznie button.

w pliku Unit1.h mam

__published:
private:
        TButton *Przycisk;
        void __fastcall funkcjaklik(TObject *Sender);

public: 

W Unit1.cpp mam:



void __fastcall TForm1::Button1Click(TObject *Sender)
{
   Przycisk = new TButton(this);
   Przycisk->Parent = this;
   Przycisk->Left = 30;
   Przycisk->Top = 40;
   Przycisk->OnClick = funkcjaklik; 
}

void __fastcall TForm1::funkcjaklik(TObject *Sender)
{

// tutaj nie wiem co wpisać

}
  1. W jaki sposób zmieniać dowolną właściwość utworzonego dynamicznie buttona gdy kliknę na niego lewym przyciskiem myszy np. chce zmienić jego właściwość Caption

Pisząc w funkcjaklik:

Caption="nowy";

Akcja wykonuje się na formie,a nie na utworzonym buttonie.

  1. Załóżmy,ze na formie znajduje się 10 utworzonych dynamicznie buttonów,których własność Name to b1,b2.... itd. Chcę po kliknięciu na pierwszy z nich zmienić właściwość drugiego i trzeciego. Jak się odwołać do tych przycisków?

Męczę się z tym i już nie mam siły.

Proszę o pomoc.

0
  1. Odczytywanie wartości Tag z TImage w jakimś tam zdarzeniudynamic_cast<TImage *>(Sender)->Tag;

  2. Zadeklaruj je wyżej tam gdzie jest TForm Form1 czy jakoś tak. Dodasz wtedy guziki jako zmienną globalną. I można po nazwie chyba się już odwoływać. Jeśli nie poszukaj kodu do "wyświetlenia" wszystkich guzików(wiem że w FAQ delphi na jakiej znanej stronie takie coś było) i potem przefiltruj który Tag np Ci pasuje

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