Membervariablen in Arrays möglich?



  • Hallo nochmal!

    Ich poste am besten gleich alle Probleme zu denen ich nichts gefunden habe, - also hier noch eins:

    Ich habe häufiger mal Dialoge in meinem Programm in denen ich z.B.: 10mal Name eingeben habe.

    Jedem dieser Eingabefelder muss ich eine Membervariable zuordnen. Dann sieht das am Ende so aus:

    Name0
    Name1
    Name2
    ..
    Name9

    Will ich die nun in einen array kopieren, dann muss ich 10 mal diese Zeile schreiben:

    Name[..] = Name0;

    Wenn ich aber gleich einen array hätte, in dem die Eingaben gespeichert werden nachdem UdateData(true) aufgerufen wurde dann könnte ich das Speichern der Namen einfach in einer for-Schleife realisieren.

    Meine Frage: Geht das in MFC oder habe ich leider keine andere Wahl wie bisher?

    Nochmals Danke!!



  • klar geht das.
    Einfach in die header dein array rein

    ..
    CString m_Edits[2];
    ..
    

    und die dinger in der data-map eintragen:

    void CMyDlg::DoDataExchange(CDataExchange* pDX)
    {
        CDialog::DoDataExchange(pDX);
        //{{AFX_DATA_MAP(CMyDlg)
        DDX_Text(pDX, IDC_EDIT1, m_Edits[0]);
        DDX_Text(pDX, IDC_EDIT2, m_Edits[1]);
        //}}AFX_DATA_MAP
    }
    


  • Cool!

    Hätte nicht gedacht, dass das funzt! Mit dem Klassenassistenten kann man ja nur einzelne Variablen zuordnen, - arrays sind da nicht möglich...

    Danke!


Anmelden zum Antworten