![]() |
|
|
![]()
|
|
| Domain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 11.3.2010 Репутация: нет Всего: нет |
Всем привет. У меня возникла такая ситуация, когда в компоненте TMemo нужно сделать следующее: должна быть строчка, которую пользователь не может редактировать(стирать, вырезать и т.д.), но после этой строчки может писать текст все, что пожелает. Как реализовать подобную тему. Может посоветуете другой подход к реализации данной задачи.
|
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
При клике на эту строчку делай Memo->ReadOnly. При выходе - наоборот.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Domain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 11.3.2010 Репутация: нет Всего: нет |
Ну не все так просто. Например в одной строке, пример: "стирать нельзя" >> "можно писать" и все это в одной строке, как например в консоли
. |
|||
|
||||
| vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Просто так все это сделать не получиться, компонент не предназначен для таких ограничений на ввод.
Вот предложения: 1. Создать массив StringList и согласовать его с событиями TMemo (клик мыши, перемещение кнопок и т.д. и т.п). В зависимости от манипуляции, производить определенные действия со строками StringList, а после этого перерисовывать Memo. Но это может привести к проблемам, при слишком большой объеме данных, будет видно перерисовку. 2. Доработать механизм, который предложил камрад, ранее. При перемещении по строке, парсить только её и проверять, можно ли в определенном месте вводить данные. -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Замени TMemo на TRichEdit, выдели свою строчку и поставь атрибут RichEdit->SelAttributes->Protected=true;
|
|||
|
||||
| Domain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 11.3.2010 Репутация: нет Всего: нет |
Спасибо xvr, помогло
|
|||
|
||||
| Domain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 11.3.2010 Репутация: нет Всего: нет |
только что теперь мне придется все время выделять текст и делать что-то подобное? можно как-то это автоматизировать?
|
|||
|
||||
| xvr |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Угу
|
||||
|
|||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |