Моя проблема заключается в простом поле редактирования. Она определяется следующим образом:win32 редактирование окна в новых строках
hEditIn=CreateWindowEx(WS_EX_CLIENTEDGE,
L"EDIT",
L"",
WS_CHILD|WS_VISIBLE|ES_MULTILINE|
ES_AUTOVSCROLL|ES_AUTOHSCROLL,
50,
120,
400,
200,
hWnd,
(HMENU)IDC_EDIT_IN,
GetModuleHandle(NULL),
NULL);
После этого, когда я называю SendMessage как это:
SendMessage(hEditIn,
WM_SETTEXT,
NULL,
(LPARAM)L"Connected\r\n");
SendMessage(hEditIn,
WM_SETTEXT,
NULL,
(LPARAM)L"TESTSTR");
я получаю только последнее сообщение вместо первого сообщения и второй в новой строке.
Это также проблематично, потому что я хочу отображать «Подключено» каждый раз в новой строке, если сообщение servreveive WM_ACCEPT.
'WM_SETTEXT' называется именно так, потому что, эм, задает текст, не добавляет его. Если вы хотите использовать последнее поведение, рассмотрите возможность чтения документов в ['WM_GETTEXTLENGTH'] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms632628.aspx) и [' WM_GETTEXT'] (http : //msdn.microsoft.com/en-us/library/windows/desktop/ms632627.aspx) – Joulukuusi