Forum: PC-Programmierung MS Visual C++ : Array of Button


von Matthias L. (Gast)


Lesenswert?

Hallo, ich probiere gerade etwas mit MS Visual C++.

Ich habe eine Form angelegt. Darauf ein Button angelegt.
Das habe ich per "drag&drop" aus der Toolbox erstellt. Dazu wird 
folgender COde generiert:
1
private: System::Windows::Forms::Button^  button1;
Das müsste mir einen "Zeiger" des Typs Button mit dem Namen button1 
deklarieren.
1
this->button1 = (gcnew System::Windows::Forms::Button());
Das erzeugt den Button auf der Form.
1
this->Overlays->Controls->Add(this->button1);
Hier wird der Button einem groupBox-Container (mit Namen Overlay) 
hinzugefügt.
1
this->button1->Location = System::Drawing::Point(271, 52);
2
this->button1->Name = L"button1";
3
this->button1->Size = System::Drawing::Size(108, 35);
4
this->button1->TabIndex = 0;
5
this->button1->Text = L"Anzeigen";
6
this->button1->UseVisualStyleBackColor = true;
7
this->button1->Click += gcnewSystem::EventHandler(this,&Form1::button1_Click);
Das legt Eigenschaften/Ereignisse des Buttons fest.

Die Erklärung von mir ist sicherlich nicht fachgerecht. Aber das ist 
soweit von mir nachvollziehbar. Im Ereignis Click habe ich ein Stück 
Code hinterlegt, welches mir die Hintergrundfarbe des Buttons ändert. 
Das geht auch.

Jetzt möchte ich aber ein Array von Buttons (32x8) anlegen. Wie muss ich 
das nun machen, damit ich den Quellcode für die Funktion möglichst nur 
einmal mit einer Schleife bearbeiten kann? also sowas: button1[x][y] ??

Danke schonmal

von Jean P. (fubu1000)


Lesenswert?

Hi,
wenn zum Beispiel in nem Panel vorliegend:

Panel1->Controls->Add(gcnew Button() );

Natürlich musst du den Button dann noch positionieren.

int LabelIndex = Panel1->Controls->Count -1;
Panel1->Controls[LabelIndex]->Left = 10;
Panel1->Controls[LabelIndex]->Top = (EditIndex * 15 )-20;
Panel1->Controls[LabelIndex]->Width = 50;
Panel1->Controls[LabelIndex]->TabIndex = Panel1->Controls->Count - 
(Elemente im Panel die schon vorhanden sind);

Hoffe ich habe dich richtig verstanden und es hilft dir.
Gruß

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.