Работа с текстом в Edit control
WS_VISIBLE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | WS_CHILD | \
WS_BORDER | ES_WANTRETURN ,10,60,570,400,hWnd,0,hInstance,NULL);
[\code]
Сначала читай строку с edita (WM_GETTEXT), конкатенируй со своей (lstrcat) и выкидывай результат обратно (WM_SETTEXT).
Я проштудировал MSDN в разделе контролов,но там глухо.Должен быть нормальный выход.Ведь когда я набираю текст в контроле при помощи клавы курсор перемещается....Как заставить перемещятся курсор в edit?
:confused: :)
Текстовый курсор
Код:
SendMessage(hWnd, EM_SETSEL, (WPARAM)nStart, (LPARAM)nEnd);
Цитата: Nixus
Код:
SendMessage(hWnd, EM_SETSEL, (WPARAM)nStart, (LPARAM)nEnd);
Код:
int nCarPos = GetWindowTextLength(hEditWnd);
SendMessage(hEditWnd, EM_SETSEL, nCarPos, nCarPos);
SendMessage(hEditWnd, EM_REPLACESEL, FALSE, [COLOR="Red"]szStr[/COLOR]);
SendMessage(hEditWnd, EM_SETSEL, nCarPos, nCarPos);
SendMessage(hEditWnd, EM_REPLACESEL, FALSE, [COLOR="Red"]szStr[/COLOR]);
спасиба всем за ответ. :(
Разобрал как это сделать.Штука в следующем.Выделяем буфер,например по умолчанию 32 кг,и работаем только с этим буфером.Тоесть там хранятся все строки с которыми мы работали.Поступает новая строка мы её обединяем с нашим буферорм,например lastcat,а потом копируем содержимое буфера при помощи сообщения WM_SETTEXT в контрол.Короче тупо имитируем работу с консолью.Всем мир.....
а может еще знаете чтo нужно сделать, чтобы на новую строку перейти при выводе текста в Edit ??? потаму как если встречается в тексте \n то реакции никакой :(
char mes[]="Hello \r\n piple"; piple будет напечатано с новой строки
Цитата: пакахондас
Тут всё просто.Используй слудующюю комбинацию \r\n. У меня работает. Можеш проверить - вставь \r\n в середину текста например
char mes[]="Hello \r\n piple"; piple будет напечатано с новой строки
char mes[]="Hello \r\n piple"; piple будет напечатано с новой строки
Нашел баг в коде :)
Код:
char mes[]="Hello \r\n [COLOR="Red"]people[/COLOR]";