TripleD Geschrieben 13. Mai 2004 Geschrieben 13. Mai 2004 Hallo, hab ein Programm mit MFC geschrieben. Jetzt hab ich da noch diese Abfrage mit drin. Aber irgendwie bringt der mir immer die MessageBox. An was kann das liegen? void CClientDlg::OnBSenden() { if(m_strIMsg != "") { GetDlgItemText(IDC_EMsg, m_strIMsg); m_ctlOMsg.AddString(m_strIMsg); SetDlgItemText(IDC_EMsg, ""); } else { MessageBox("Es wurde kein Text eingegeben!"); } } Gruß TripleD Zitieren
bigpoint Geschrieben 13. Mai 2004 Geschrieben 13. Mai 2004 versuch so: void CClientDlg::OnBSenden() { if(!m_strIMsg.IsEmpty( ) ) { GetDlgItemText(IDC_EMsg, m_strIMsg); m_ctlOMsg.AddString(m_strIMsg); SetDlgItemText(IDC_EMsg, ""); } else { MessageBox("Es wurde kein Text eingegeben!"); } } [/PHP] Zitieren
TripleD Geschrieben 13. Mai 2004 Autor Geschrieben 13. Mai 2004 Hi, erst mal danke für deine Hilfe. Mit deiner lösung kann ich einmal was eingeben, aber danach sperrt er wieder mit der MessageBox. TripleD Zitieren
Goos Geschrieben 13. Mai 2004 Geschrieben 13. Mai 2004 Hi, erst mal danke für deine Hilfe. Mit deiner lösung kann ich einmal was eingeben, aber danach sperrt er wieder mit der MessageBox. TripleD if(!m_strIMsg.IsEmpty( ) ) { GetDlgItemText(IDC_EMsg, m_strIMsg); m_ctlOMsg.AddString(m_strIMsg); SetDlgItemText(IDC_EMsg, ""); }[/PHP] Wie soll das denn auch funktionieren? Du ueberpruefst, ob dein String m_strIMsg nicht leer ist und willst ihn dann mit dem Text deines Steuerelements (ich nehm mal an ne Editbox oder sowas) fuellen. Ich kann den Sinn der Abfrage nicht ganz nachvollziehen. Erklaers doch bitte mal Goos Zitieren
bigpoint Geschrieben 13. Mai 2004 Geschrieben 13. Mai 2004 Hi, erst mal danke für deine Hilfe. Mit deiner lösung kann ich einmal was eingeben, aber danach sperrt er wieder mit der MessageBox. TripleD setz brakpoint und schau was steht in m_strIMsg, da ich vermute, dass die Variable nicht aktualiesiert ist also CWnd::UpdateData im spiel briengen Zitieren
TripleD Geschrieben 13. Mai 2004 Autor Geschrieben 13. Mai 2004 So, ich habs jetzt. Bevor er das Feld m_strIMsg verkelichen kann, muss er ja erst mal das Feld auslesen: void CClientDlg::OnBSenden() { GetDlgItemText(IDC_EMsg, m_strIMsg); if(m_strIMsg != "") { m_ctlOMsg.AddString(m_strIMsg); SetDlgItemText(IDC_EMsg, ""); } else { MessageBox("Es wurde kein Text eingegeben!"); } } Danke für deine Hilfe. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.