CheckBox dynamisch anzeigen

Hulewulle

Mitglied
Hallo

Ich habe folgendes Problem.

Ich habe eine MFC Dialoganwendung in der ein TabCtrl ist. Für die einzelnen Tabs habe ich einen Dialog in dem alle benötigten Elemente vorhanden sind aber unsichtbar. Welche Elemente angezeigt werden sollen wenn ein neuer Tab kreiert wird eintscheidet eine Struktur in der zB steht wieviele von meinen CheckBoxen angezeigt werden sollen.

Das Problem ist jetzt das die ID's der CheckBoxen (IDC_CHECK1 IDC_CHECK2 ... ) fortlaufend sind aber die vom System hinterlegten Nummern zu den ID's nicht.

Die Frage ist jetzt wie kann ich in einer schleife die CheckBox ID's erstellen um sie der CWnd::ShowWindow zu übergeben um die CheckBoxen anzuzeigen?

Prinzip wie ich das dachte:
Code:
for(int i=0 ; i<AnzahlCheckBoxen ; i++)
{
       ID = IDC_CHECKi;        // hier ist die Stelle wo ich nicht weiß wie ich das machen soll
       CWnd *pCheckBox = GetDlgItem(ID); 
       // CheckBox anzeigen
       pCheckBox->ShowWindow(SW_SHOW);
}

Ich hoffe Ihr könnt mir da weiterhelfen

MfG

Hulewulle
 
Ich habe an ähnlicher Stelle auch keinen Weg gefunden die ID aus strings zusammen zu setzen (wie das z.B. in php gehen würde)
Möglichkeiten habe ich am Ende 2 gefunden

1) zu Fuss
Code:
if (i == 1)
{
ID = IDC_CHECK1;
}

usw.
(kann man machen solange es nicht all zu viele werden)

2) array von CWnd´s definieren
Code:
CWnd MyArray[] = {CWnd, CWnd, CWnd ......}
MyArray[1] = IDC_CHECK1;

usw.
dann kannst du in der Schleife statt
Code:
IDC_CHECK[i]
halt
Code:
MyArray[i]
verwenden
 
Zurück