Veröffentlicht 13. Mai 200421 j 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
13. Mai 200421 j 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]
13. Mai 200421 j 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
13. Mai 200421 j 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
13. Mai 200421 j 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
13. Mai 200421 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.