String mit SetWindowText() in Editfield einfügen - Teil fehlt
-
Hallo!
Ich habe ein zumindest für mich unlösbares Problem mit SetWindowText. Ich habe einen C++-String, den ich in ein Editfield haben möchte. Das klappt halbwegs, ein Teil des String landet im Editfield. Aber nach dem ersten Leerzeichen wird der String einfach abgeschnitten.Das Editfield ist folgendermaßen erstellt worden:
hEditAusgabe = CreateWindow("edit", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT | ES_AUTOHSCROLL | ES_MULTILINE, 5, 30, 384, 538, hwnd, NULL, hMainInstance, NULL);
Mit folgender Zeile versuche ich, den Text ins Editfield zu kriegen:
SetWindowText(hEdit, Ausgabe.c_str()); // hEdit = hEditAusgabe, ist nur eine andere Funktion.
Das war eigentlich mal ein Konsolenprogramm, soll jetzt aber ein Windows-Gewand bekommen. Deswegen gibt es da noch paar Besonderheiten: Ich leite die mit ursprünglich cout ausgegebenen Sachen stattdessen in einen Stringstream 'aus', dessen Inhalt dann in den String kommt, den ich ausgeben lassen will. Dazu habe ich einfach über cout durch 'aus' ersetzt (manuell), z.B:
aus<<"Lese Eingabe..."<<endl;
Am Ende leite ich den Inhalt von 'aus' in den String Ausgabe:
string Ausgabe; aus>>Ausgabe;
Danach kommt der Aufruf von SetWindowText, bei dem wie gesagt nach dem ersten Leerzeichen alles abgeschnitten zu sein scheint.
Ich bin völlig ratlos, hat jemand ne Ahnung?Vielen Dank im Voraus,
chris-
[ Dieser Beitrag wurde am 01.04.2003 um 22:54 Uhr von chris- editiert. ]
-
Boah! Editier doch erstmal deinen Beitrag. Sieht ja schrecklich aus mit der horizontalen ScrollBar im Browser.
Das Problem scheint dein StringStream zu sein. So wie du SetWindowText() benutzt, müsste es eigentlich funktionieren.