Короче такая трабла.
Есть SDI приложение на основе CRichEditView.
Обычный редатор при первом запуске получается.
Набираем тама какой нить текст.
Как теперь этот текст мне взять оттудова и чё нить с ним сделать заменить цвет текста например, т.е. вот я набираю стандартный текст, потом жму допустим пробелили чего нить ещё и текст который я набрал должен поменять цвет. Кроме того научите как ещё получить этот текст чтоб с ним работать потом по-своему усмотрению.
И ещё как мне узнать какая буква отобразиться на экране.
т.е. вот прехватываю WM_KEYDOWN , потом там в nChar стоит числовое обозначение клавиши, а вот как мне по этому числу определить символ который нажат если это символ вообще.т.е. как из виртуал кей преобразовать в то что видим на экране.
SDI + редактирование текста
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Вообще текст ЛЮБОГО окна как правило получается GetWindowText();
А символ определяется путем простого сравнения с нужной буквой.
Ну если очень хочется можешь к чару привести nChar.
Но вообще компилятор в данном случае должен привести все сам
А символ определяется путем простого сравнения с нужной буквой.
Ну если очень хочется можешь к чару привести nChar.
Но вообще компилятор в данном случае должен привести все сам
В SAD - все в SAD.
:arrow: лови WM_CHAR
насчёт работы с текстом в CRichEditView, МСДН нету штоли? там всё подробно и хорошо описано ... а ещё пример есть (исходники WORDPAD'а)
Код: Выделить всё
void CMyView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
TCHAR buff[20];
wsprintf(buff, _T("Нажата \"%c\""), nChar);
MessageBox(buff);
...
}
Удачи... =)
Всем спасибо всё решил сам, ну почти всё.
Текст читаю построчно, т.к. насколько я понял GetWindowText() читаить тока 64 Кб, а может и нет, не помню...
Спасибо Acidy за код.
Текст читаю построчно, т.к. насколько я понял GetWindowText() читаить тока 64 Кб, а может и нет, не помню...
Спасибо Acidy за код.
есть ещё функции в класса CRichEditCtrl::StreamIn и CRichEditCtrl::StreamOut (мессаги EM_STREAMIN и EM_STREAMOUT соответственно). Именно ими надо писать или читать текст контрола блоками указанного размера ...
Если надо пришлю пример сериализации текста в формате RTF...
Если надо пришлю пример сериализации текста в формате RTF...
Удачи... =)