EM_GETLINE sendet nur 1 Zeichen
-
Wie immer lohnt sich eigentlich mal ein Blick in die Doku:
lParam
A pointer to the buffer that receives a copy of the line. Before sending the message, set the first word of this buffer to the size, in TCHARs, of the buffer. For ANSI text, this is the number of bytes; for Unicode text, this is the number of characters. The size in the first word is overwritten by the copied line.TCHAR buf[6]; *reinterpret_cast<WORD*>(&buf[0]) = _countof(buf); SendMessage( Wert,EM_GETLINE, 6, (LPARAM)buf );
-
Vielen Dank für die Antworten.
Ich hab da aber noch eine Frage.Und zwar möchte ich einen LPCWSTR , und 2 float Werte in einen gemeinsammen String basteln (oder char).Ich hab das mal mit stringstream versucht und da einfach mit dem opertator << alles reingeschoben.Bei der Wiedergabe bekomm ich leider keinen Text ,sondern einen Hexdezimalen Wert(z.B C453AF).
Könnte man das irgendwie anders lösen??
Vielen Dank
-
Code zeigen...
-
Bob Wolfskin schrieb:
Ich hab da aber noch eine Frage.Und zwar möchte ich einen LPCWSTR , und 2 float Werte in einen gemeinsammen String basteln (oder char).Ich hab das mal mit stringstream versucht und da einfach mit dem opertator << alles reingeschoben.
Für ein LPCWSTR wirst Du wohl einen wstringstream brauchen.
-
Ok das hab ich jetzt getan,aber wenn ich mir daraus einen string mache geht das iwie nicht.
Code:
wstringstream a; a << Name; string b(a.str());
-
Da musst Du dann wohl einen wstring nehmen ...
Entweder Du stellst Dein Projekt auf MBCS um und kannst dann mit char, string, stringstream usw. arbeiten, oder Du musst Dich zunächst mal über UNICODE, TCHAR, wstring, wchar_t usw. schlau machen ...
-
Ok,aber eigendlich geht es mir ja darum einem Namen(LPCWSTR) und 2 float Werte mit Leerzeichen in einen String zu packen(oder wstring).Hauptsache ist nur,dass ich es per SendMessage an eine Listbox senden kann.
-
Bob Wolfskin schrieb:
Ok,aber eigendlich geht es mir ja darum einem Namen(LPCWSTR) und 2 float Werte mit Leerzeichen in einen String zu packen(oder wstring).Hauptsache ist nur,dass ich es per SendMessage an eine Listbox senden kann.
Dann lerne was ein char und was ein wchar_t ist und was ein TCHAR ist und was das mit der WinAPI zu tun hat.
-
Habs mir mal angeschaut und endlich hat es geklapt:D
Danke für die Antworten
Weiß einer wie man einen wstringstream leeren kann?
Mit wstringstream a.str(""); geht das nicht und ich finde jetzt nur threads zum stringstream leeren.
Weiß einer wie das geht?Danke
-
Das geht haargenau so, wie bei einem stringstream. Beide sind abgeleitet von basic_stringstream und unterscheiden sich lediglich dadurch, dass der wstringstream wchar_t - Zeichen verwaltet und der stringstream char - Zeichen.