c++ edit box

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/c_edit_box_137257/page_1 - zur Vollversion wechseln!


geforceraid schrieb am 20.02.2005 um 12:50

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


Ringding schrieb am 20.02.2005 um 12:58

Mach mal \r\n.


geforceraid schrieb am 20.02.2005 um 13:10

Zitat von Ringding
Mach mal \r\n.

jetzt funzts :)

0100010001100001011011100110101101100101001000000011101000101001


that schrieb am 20.02.2005 um 13:22

btw, das war eine reine Win32 Frage und hat mit C++ nur am Rande zu tun.


geforceraid schrieb am 21.02.2005 um 20:20

was ich noch fragen wollte:
wie kann man die Edit-Box dazu überreden unicode zu akzeptieren und darzustellen?


that schrieb am 23.02.2005 um 21:30

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).


geforceraid schrieb am 27.02.2005 um 11:52

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


Ringding schrieb am 27.02.2005 um 13:00

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