Ну, это только половина правды. Новые строки работают нормально по большей части, но когда я загружаю в них файл, ни одна из новых строк не отображается. Копирование текста и вставка его в Notepad ++ с отображением всех включенных символов показывает, что возврат каретки и перевод строки есть.
Мой код загрузки:
void open_file(HWND hwnd,const char* fname){
SendMessage(textbox,WM_SETTEXT,(WPARAM)0,(LPARAM)"");
FILE* file=fopen(fname,"r");
fullpath=fname;
filename=fullpath.substr(fullpath.rfind('\\')+1,fullpath.length());
int pos;
while(!feof(file)){
pos=GetWindowTextLength(textbox);
SendMessage(textbox,EM_SETSEL,pos,pos);
fread(buffer,2048,sizeof(char),file);
SendMessage(textbox,EM_REPLACESEL,false,(LPARAM)buffer);}
fclose(file);
SendMessage(hwnd,WM_SETTEXT,0,(LPARAM)filename.c_str());}