Не убивается курсор в RichEdit
От: sgt Россия http://www.skiller.ru
Дата: 07.10.07 19:16
Оценка:
Под курсором далее подразумеваю caret.
Есть форма, созданная в билдере. На форме есть RichEdit, установленный в ReadOnly. Никакого курсора там не нужно. Однако иногда он там появляется. Видимо это какой-то остаточный эффект после операций с программным выделением текста.
Чтобы спрятать курсор я навставлял в разные события для RichEdit функцию DestroyCaret(). Вроде бы помогло, но остался один случай, когда курсор не убивается. Это происходит после того, как кликнуть на RichEdit правой кнопкой мыши, потом активировать другое окно и снова активировать окно программы. Вот тут в RichEdit и оживает курсор и начинает неприятно мигать.
До этого у меня еще была проблема, что при активации окна вместо появления курсора подсвечивался текст, который до этого был выделен. Причем текст подсвечивался не взирая ни на какие предварительные EM_HIDESELECTION. Ту проблему я поборол и вот теперь вместо нее появилась проблема с курсором.
Винда как-будто издевается. Либо текст выделяет, либо курсор показывает.
Из двух зол был выбран курсор.
Но хотелось бы и его побороть.
Для решения проблемы я пробовал перехватывать событие WM_ACTIVATE для формы и даже вставлял туда DestroyCaret(). Не помогает. Видимо во время активации окна после WM_ACTIVATE выполняется еще что-то, что оживляет курсор.
Прошу объяснить, как решить проблему. Желательно с конкретной инструкцией, потому что я новичек и в программировании для Windows мало чего понимаю.
Заранее спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.