CString - gemischte Ausgabe mit MessageBox
-
Zu langsam images/smiles/icon_sad.gif
[ Dieser Beitrag wurde am 14.01.2002 um 16:56 Uhr von Kauz01 editiert. ]
-
[ Dieser Beitrag wurde am 14.01.2002 um 16:57 Uhr von Prof84 editiert. ]
-
Prof:
muss man auch nciht können, wie du an unseren antworten siehst images/smiles/icon_smile.gif
-
ai, kauz, was machstn?? deine lösung war doch viel schöner als meine!
-
Habe ich das richtig verstanden das ich alles in einen String wandeln muß?
Trifft das auch für ein Textfeld in einer MFC Anwendung zu?Vossy
Ach noch was ich versuche immer den Code als C++ Code einzufügen aber irgendwie geht das mit den Button C++Code nicht
-
ja das trifft auch auf ein Textfeld zu.
was meinst du damit, dass es nciht funktioniert?
lies dir vielelciht das mal durch.
-
geht das Ausgeben nicht einfacher oder gibt es noch andere Möglichkeiten
Vossy
-
nein
-
Geht doch. Da bastelt man sich eine Funktion mit variablen Argumenten um AfxMessageBox() herum und benutzt das Ganze wie printf()
int MsgBox(LPCTSTR fmt, ...) { CString str; //könnte auch char str[1024] sein o.ä. va_list arg; va_start(arg,fmt); vsprintf(str.GetBuffer(1024),fmt,arg); va_end(arg); str.ReleaseBuffer(); return(AfxMessageBox(str,MB_OKCANCEL)); //liefert IDOK oder IDCANCEL //return(AfxMessageBox(str,MB_OK)); alternativ nur mit OK-Button zum Bestätigen }
Aufruf dann z.B.
MsgBox("Von den insgesamt %d gelösten Aufgaben\nhast du %s\n%d Aufgaben gelöst und\n%d nicht gelöst.\nDas ist %s",gesamt_Anzahl,name_Anwender,gelöst_Anzahl,ungelöst_Anzahl,aussage);
-
Danke
-
josch:
super beitrag images/smiles/icon_smile.gif
wird auch gleich gezeigt, wie eine variable parameterliste benutzt wird.
ich verschiebs mal in die FAQ