| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Вопрос по RichEdit. |
| Автор: AndreySol 13.7.2005, 05:51 |
| Есть RichEditCtrl, в него загружается текст через StreamIn(...). И вот что я заметил: если размер текста небольшой, то используя SetSel(...) выделение устанавливается нормально, но если текст побольше (я примерно высчитал - где-то начиная с 350...400 символов) не работает ф-ция, по крайней мере визуально выделение не устанавливается. В MSDN нашел что-то на тему LimitText, но не смог разобраться. Подскажите как правильно делать выделение для текстов большого размера ? |
| Автор: AndreySol 15.7.2005, 05:13 |
| Ну что же молчим, господа программисты ? |
| Автор: AndreySol 22.7.2005, 06:40 |
| Отзовитесь кто нить ! |
| Автор: chaos 22.7.2005, 07:15 | ||||
по поводу SetSel, проверил у меня SetSel все нормально выделяет и 1000 и 2000 символов, те проблем ни каких не орбнаружил. создавал так
те из всех этих флагов необходим ES_NOHIDESEL (сохраняем выделение когда CRichEditCtrl теряет фокус) что бы текст выделялся. а выделял так
а по поводу LimitText так я думаю она тебе вряд ли поможет, тк она служит для ограничения длины текста вводимого в CRichEditCtrl пользователем Добавлено @ 07:19 у тебя установлен флажок ES_NOHIDESEL ? Добавлено @ 07:23 хотя блин, ты же говоришь что при маленькой длине текста все ок. хм |
| Автор: chaos 22.7.2005, 07:38 |
| не все проверил, все сделал как ты сказал: прочитал файл с помошью StramIn размером пару килобайт и все у меня выделяется нормально! |
| Автор: chaos 22.7.2005, 09:04 | ||
| да пощадят меня модераторы за выкладывание такого большого кода вот посмотри, черкнул тебе небольшой пример
че не понятно задавай вопросы! |
| Автор: AndreySol 23.7.2005, 06:44 |
| Во как - то пусто, то густо ! Стиль ES_NOHIDESEL не стоит напрямую, он задан в свойствах окна в редакторе ресурсов. Chaos Спасибо за пример кода, щас попробую обязательно. Еще возникла тут мысль - могут быть эти глюки связаны с вызовами UpdateData(FALSE) и UpdateData(TRUE) после установки выделения (у меня есть эти вызовы, нужны по ходу дела) ? |
| Автор: chaos 25.7.2005, 06:20 | ||
не могут |
| Автор: AndreySol 12.8.2005, 06:20 |
| Разобрался я с этим SetSel. Оказалось, что если создать RichEdit в редакторе ресурсов, перетащив его с панели "Controls" на форму, то какие бы я стили ему потом не устанавливал - выделение работает по дурному. А вот если создать RichEdit через Create(...) то выделение работает нормально, при этом даже без флага ES_NOHIDESELECT. Вот только почему так происходит ? |