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
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]
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
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
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
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden