C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Проблема с выделением текста
FANTOM181
Отправлено: 23.04.2005, 14:35


Ученик-кочегар

Группа: Участник
Сообщений: 20



В компоненте RxRichEdit я сделал всплывающее меню c пунктами: выделить все, копировать, вставить и т.д. И у меня возникла проблемма с выделением текста. В обработчике события OnSlelctionChange компонента RxRichEdit я поместил следующий код:
CODE
if(Memtxt->SelLength)
{
g=Memtxt->Text.Length();
if(g==Memtxt->SelLength) N37->Enabled=false;//select all
else N37->Enabled=true;//select all
}
в данном коде идет проверка, на выделение текста. Если пользователь выделил какой-либо фрагмент текста длинной SelLength. И это фрагмент оказывается равным g(длинне всего текста), то пункт всплывающего меню SelectAll, становится не активным(Enabled=false), т.е весь текст выделен. Если же выделенный фрагмент оказывается меньше длинны всего текста, то Enabled=true, т.е.выделен не весь текст а какой-то его кусок.Но все бы хорошо, только почему-то иногда при выделении всего текста параметр SelLength оказывается меньше чем g(длинна всего текста). Я даже пробовал выделять весь текст не ручками а програмно, при помощи SelectAll(), результат такой же. Как это можно исправить.

Отредактировано FANTOM181 — 23/04/2005, 14:41
dEEp
Отправлено: 10.05.2005, 04:28


Дежурный стрелочник

Группа: Участник
Сообщений: 69



У RichEdit, также как и у Memo есть такое свойство как HideSelection. И оно по умолчанию стоит в true. Поставь false и всё будет ОК.

Вернуться в Вопросы программирования в C++Builder