jfranke401
Grünschnabel
Hallo alle zusammen,
ich habe ein kleines Problem mit dem Zugreifen auf die Caption bei dynamisch erstellten Button.
Mit dem Click auf ein Button sollen dynamisch Button erstellt werden und die Caption aus einer Datei (Table) beziehen. Bis hierhin klappt alles wunderbar. Jetzt kommt mein problem.
Bei einem Click auf irgendeinen der Dynamisch erstellt button, soll die Caption von genau diesem Button weiterverwendet werden.
Ich kann mir zwar mit dem ereignis MyButtonClick irgendwas anzeigen lassen, aber eben nicht speziell fuer diesen gedrueckten button. Hier mal der Code, den ich verwendet habe:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i=0;
Table1->First();
while (!Table1->Eof)
{
Table1->First();
while (!Table1->Eof)
{
i++;
TButton *BSpeisen = new TButton(this);
BSpeisen->Parent = this;
BSpeisen->Name ="Speisen"+IntToStr(i);
BSpeisen->Caption=Table1->FieldByName("Warengruppe")->AsString;
Table1->Next() ;
BSpeisen->OnClick = ClickMyButton,i;
}
}
}
void __fastcall TForm1::ClickMyButton(TObject *Sender)
{
ShowMessage(Speisen[1]->Caption); //Hier soll zB. eine Message angezeigt werden, die die Caption von Button 2
enthaelt
}
h-Datei:
public: // Anwender-Deklarationen
TButton *Speisen[10];
void __fastcall ClickMyButton(TObject *Sender);
__fastcall TForm1(TComponent* Owner);
Ist bestimmt bloss ne Kleinigkeit aber ich komme einfach nicht weiter. Ich hoffe ihr wisst mehr.
ich habe ein kleines Problem mit dem Zugreifen auf die Caption bei dynamisch erstellten Button.
Mit dem Click auf ein Button sollen dynamisch Button erstellt werden und die Caption aus einer Datei (Table) beziehen. Bis hierhin klappt alles wunderbar. Jetzt kommt mein problem.
Bei einem Click auf irgendeinen der Dynamisch erstellt button, soll die Caption von genau diesem Button weiterverwendet werden.
Ich kann mir zwar mit dem ereignis MyButtonClick irgendwas anzeigen lassen, aber eben nicht speziell fuer diesen gedrueckten button. Hier mal der Code, den ich verwendet habe:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i=0;
Table1->First();
while (!Table1->Eof)
{
Table1->First();
while (!Table1->Eof)
{
i++;
TButton *BSpeisen = new TButton(this);
BSpeisen->Parent = this;
BSpeisen->Name ="Speisen"+IntToStr(i);
BSpeisen->Caption=Table1->FieldByName("Warengruppe")->AsString;
Table1->Next() ;
BSpeisen->OnClick = ClickMyButton,i;
}
}
}
void __fastcall TForm1::ClickMyButton(TObject *Sender)
{
ShowMessage(Speisen[1]->Caption); //Hier soll zB. eine Message angezeigt werden, die die Caption von Button 2
enthaelt
}
h-Datei:
public: // Anwender-Deklarationen
TButton *Speisen[10];
void __fastcall ClickMyButton(TObject *Sender);
__fastcall TForm1(TComponent* Owner);
Ist bestimmt bloss ne Kleinigkeit aber ich komme einfach nicht weiter. Ich hoffe ihr wisst mehr.
Zuletzt bearbeitet: