EditBoxProblem



  • Ich will eine Art kleinen Texteditor schreiben, nur habe ich ein Problem mit der EditBox in meinem Fenster, in die der Text rein soll. Wenn ich eine Datei einlese (mit ifstream), den Text in einem char-Feld schreibe und diesen dann mit "SetWindowText(EditBoxHandle, TEXT);" an die EditBox übergebe, dass werden die Zeilenumbrüche nicht korrekt dargestellt. Anstelle dieser kommt ein kleiner senkrechter Strich (nicht der rechts neben der Umschalttaste). Dies passiert auch, wenn ich direkt einen Text, wie "Zeile1 \n Zeile2" übergebe?
    Woran liegt das, und was kann ich dagegen tun?

    Hier sicherhaitshalber die Eigenschaften meiner EditBox:
    WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL



  • Du brauchst \r\n 🙂



  • Also muss ich quasi beim einlesen einer Textdatei auch immer, wenn ich auf ein \n stoße, noch ein \r anhängen?



  • nein, das nicht...



  • In Windows-Textdateien ist meistens ein CRLF-Zeilenumbruch schon drin (sonst zeigt notepad die glaube ich auch nicht richtig an...)
    Auf Linux-Systemen hingegen wird meistens nur '\n' verwendet...



  • Du kannst ja zeile für zeile einlesen, unabhängig ob mit oder ohne "\r", tausche dann bei jeder zeile, bzw. bei der gerade geladenen, das \n gegen \r\n aus (aber nur wenn es auch \n ohne \r ist).


Anmelden zum Antworten