URL: https://www.overclockers.at/coding-stuff/c_edit_box_137257/page_1 - zur Vollversion wechseln!
ich schreibe gerade an einem programm, welches binären code in ASCII zeichen umwandelt.
Im Textmodus funktioniert alles schon ganz gut, jetzt will ich eine grafische Oberfläche auf Basis der WinAPI erstellen.
Leidergottes nimmt die EditBox keine '\n' Steuerzeichen an (es erscheinen nur schwarze Kästchen) wenn ich die SetWindowText(HWND, LPCSTR) Funktion verwende.
Erstellt habe ich das ChildWindow Control mit den Parametern
WS_CHILD |WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL | ES_LEFT
Ich hoffe, es gibt eine andere Lösung für das Problem, als jede Zeile einzeln in einem Array speichern zu müssen.
tia
Mach mal \r\n.
Zitat von RingdingMach mal \r\n.

btw, das war eine reine Win32 Frage und hat mit C++ nur am Rande zu tun.
was ich noch fragen wollte:
wie kann man die Edit-Box dazu überreden unicode zu akzeptieren und darzustellen?
Du compilierst dein Programm mit #define UNICODE statt MBCS (steht üblicherweise in den Compileroptionen). Ab dann sind alle Strings, die dein Programm mit Windows austauscht, solche aus 16 Bit breiten Zeichen (TCHAR ändert seine Definition dadurch von char auf wchar_t).
mit dem UNICODE Identifier funzt eigentlich alles schon ganz gut.
Das Problem ist jetzt, dass anscheinend die Font, die für die Windows-Editbox verwendet wird, nicht alle Zeichen ausgeben kann.
Wenn ich zb. das Euro Zeichen eingebe, wandelt er mir das korrekt in 0010000010101100 um, allerdings erscheint nur ein schwarzes Kästchen im Eingabefeld.
Anbei das Beispielprogramm (in .zip umbenennen).click here
Dann musst du wohl Arial verwenden (WM_SETFONT). Standardmäßig wird glaub ich MS Sans Serif verwendet, das es anscheinend nicht kann.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026