Array von Membervariablen

ensae

Grünschnabel
Hallo,

ich habe folgendes Problem: Für so eine Art Mastermind
habe ich 40 kleine Editboxen in einer 4x10 Anordnung in
meinem Programm. Zunächst sind alle Kästchen außer
den vier der ersten Spalte auf readonly gesetzt. Nachdem
der Nutzer dort die Eingaben gemacht hat, soll alles bis
auf die zweite Spalte auf readonly stehen etc.
Ich habe also 40 Membervariablen auf die Kästchen und
muß die Attribute im Moment noch mühsam einzeln set-
zen. Gibt es die Möglichkeit, Editboxen über ein Array von
Membervariablen anzusprechen?

Vielen Dank

Christian
 

Kachelator

Peter Jerz
Klar. Du kannst von z.B. CEdits genauso Arrays anlegen wie von ints oder floats. Ich bin mir nur nicht sicher, ob der Classwizard noch mitkommt. Und das bedeutet, dass du dich um einiges selber kümmern musst.

Code:
class CMeinDialog
{
   ...

  CEdit m_AlleMeineEdits[ 40 ];  // <- Kann man machen. Habe ich auch schon gesehen (Hallo Georg! :-)  )

};
 

ensae

Grünschnabel
Vielen Dank schon Mal. Das funktioniert
prinzipiell. Allerdings zeigt der Wizard
dann gleich einen parsing error an und
setzt dann ganz aus.
Ich hatte mir jetzt noch überlegt, ein Array
von Zeiger auf die Membervariablen zu
verwenden. Das ist zwar um einiges un-
eleganter, aber ohne Wizard steh' ich bei
meinen jetzigen Kenntnissen ziemlich
dumm da.

Gruß

Christian
 

Kachelator

Peter Jerz
Wundert mich, dass der Classwizard einen Parsererror erleidet.

Willst du nun ein Array von Pointern oder einen Pointer auf ein Array von Controls verwenden? Im zweiten Fall (ein Memberpointer auf ein Array von CEdits) nicht vergessen, new[] und delete[] anstelle von new und delete zu verwenden.
 

basd

Erfahrenes Mitglied
des mit CEdit x[40] ; kann er net weil du wahrscheinlich ein Dialog hast und die Edits nicht per Hand sondern über den Resource Editor eingefügt hast !?

Tja unschön aber machbar;

Lege dir eine Variable an
CEdit * pArrayEdits[40];

Nun dann
alle Adressen der Edits in dieses Array schreiben