![]() |
|
|
![]()
|
|
| AndreySol |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 19.6.2004 Репутация: 1 Всего: 1 |
Есть RichEditCtrl, в него загружается текст через StreamIn(...). И вот что я заметил: если размер текста небольшой, то используя SetSel(...) выделение устанавливается нормально, но если текст побольше (я примерно высчитал - где-то начиная с 350...400 символов) не работает ф-ция, по крайней мере визуально выделение не устанавливается.
В MSDN нашел что-то на тему LimitText, но не смог разобраться. Подскажите как правильно делать выделение для текстов большого размера ? |
|||
|
||||
| AndreySol |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 19.6.2004 Репутация: 1 Всего: 1 |
Ну что же молчим, господа программисты ?
|
|||
|
||||
| AndreySol |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 19.6.2004 Репутация: 1 Всего: 1 |
Отзовитесь кто нить !
|
|||
|
||||
| chaos |
|
||||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 4 Всего: 44 |
по поводу SetSel, проверил у меня SetSel все нормально выделяет и 1000 и 2000 символов, те проблем ни каких не орбнаружил. создавал так
те из всех этих флагов необходим ES_NOHIDESEL (сохраняем выделение когда CRichEditCtrl теряет фокус) что бы текст выделялся. а выделял так
а по поводу LimitText так я думаю она тебе вряд ли поможет, тк она служит для ограничения длины текста вводимого в CRichEditCtrl пользователем Добавлено @ 07:19 у тебя установлен флажок ES_NOHIDESEL ? Добавлено @ 07:23 хотя блин, ты же говоришь что при маленькой длине текста все ок. хм Это сообщение отредактировал(а) chaos - 22.7.2005, 07:18 |
||||
|
|||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 4 Всего: 44 |
не все проверил, все сделал как ты сказал: прочитал файл с помошью StramIn размером пару килобайт и все у меня выделяется нормально!
|
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 4 Всего: 44 |
да пощадят меня модераторы за выкладывание такого большого кода
вот посмотри, черкнул тебе небольшой пример
че не понятно задавай вопросы! |
|||
|
||||
| AndreySol |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 19.6.2004 Репутация: 1 Всего: 1 |
Во как - то пусто, то густо !
Стиль ES_NOHIDESEL не стоит напрямую, он задан в свойствах окна в редакторе ресурсов. Chaos Спасибо за пример кода, щас попробую обязательно. Еще возникла тут мысль - могут быть эти глюки связаны с вызовами UpdateData(FALSE) и UpdateData(TRUE) после установки выделения (у меня есть эти вызовы, нужны по ходу дела) ? |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 4 Всего: 44 |
не могут |
|||
|
||||
| AndreySol |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 19.6.2004 Репутация: 1 Всего: 1 |
Разобрался я с этим SetSel.
Оказалось, что если создать RichEdit в редакторе ресурсов, перетащив его с панели "Controls" на форму, то какие бы я стили ему потом не устанавливал - выделение работает по дурному. А вот если создать RichEdit через Create(...) то выделение работает нормально, при этом даже без флага ES_NOHIDESELECT. Вот только почему так происходит ? |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |