DDX_Text(pDX, IDC_EDIT1, m_name) kann ich nicht im Listenfeld ausgeben
-
Hallo an alle!
Ich habe ein Problem://TestDLG.cpp void CAnalyseDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAnalyseDlg) DDX_Text(pDX, IDC_EDIT1, m_name); // mit grau markiert! DDX_Text(pDX, IDC_EDIT2, m_vorname); // mit grau markiert! //}}AFX_DATA_MAP }
Ich möchte gerne Zeilen, die mit DDX_ anfangen auslesen
und im Listenfeld ausgeben.//Hier ist mein Programmstück: void CAnalyseDlg::OnButton1() { char* pFileName = "C:\\...\\TestDlg.cpp"; CString str; CStdioFile f1(pFileName, CFile::modeRead | CFile::typeText); CListBox* pLB= (CListBox*) GetDlgItem(IDC_LIST1); while( f1.ReadString(str) || (! str.IsEmpty())) { pLB->InsertString(-1, str); if(!(str.Find("DDX_"))) { pLB->InsertString(-1, str); } } f1.Close(); // Datei schließen }
Leider in Listenfeld wird nichts gezeigt,
da DDX_Text(pDX, IDC_EDIT1, m_name) mit grau markiert ist.
Alles anderes kann ich ausgeben außer DDX_Text....
Vielleicht das Problem ist, dass diese Sätze mit grau markiert sind?
Gibt es trotzdem Möglichkeit diese Sätze im Listenfeld auszugeben?Vielen Dank im Vorauß
SlawikEdit by estartu: BITTE verwende Code-Tags
-
Ich habe versucht Deinem Code zu folgen. Du hast zweimal die Zeile:
pLB->InsertString(-1, str);
Ich nehme an, dass die erste zeile ein Versehen ist. die zweite Zeile wird nur geschrieben, wenn "DDX_" an erster Stelle der Zeile steht. Vielleicht sollte die Zeile auch lauten:
if(str.Find("DDX_")!=-1) { pLB->InsertString(-1, str); }
-
Herzlichen Dank.
Jetzt funktioniert es!!!!!
-
Ich hoffe, Dir ist auch klar, warum es nun funktioniert.
Die MSDN ist Dein bester Freund, wenn man sie gewissenhaft liest.