Форум: "Начинающим";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
ВнизКак запретить/разрешить ввод от клавиатуры любых символов ? Найти похожие ветки
← →
Dr.Andrew (2008-08-14 21:29) [0]Добрый вечер!
Как запретить/разрешить ввод от клавиатуры любых символов (в том числе и юникодных), например, в компоненте TMemo. Установка свойства TMemo.ReadOnly := True не подходит. Нужен или hook или иная идея. Но, с возможностью переключения, только в конкретном компоненте, а не во всех текстовых редакторах Windows, ввод символов от клавиатуры. Глобальное отключение клавиатуры тоже не подходит. Пожалуйста, небольшой пример.
Спасибо.
← →
DVM © (2008-08-14 22:18) [1]procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;
end;
← →
Dr.Andrew (2008-08-14 22:36) [2]Спасибо.
1. Я так понимаю, что цифры и буквенные клавиши заблокированы. Правильно?
2. А можно это реализовать для конкретного контрола с помощью простейшего хука? Если можно с примером.
3. Может есть еще идеи, особенно, чтобы это работало с конкретным контролом ввода символов, например TMemo, с клавиатуры и в системах XP и Vista.
Спасибо еще раз.
← →
DVM © (2008-08-14 22:41) [3]
> А можно это реализовать для конкретного контрола с помощью
> простейшего хука?
можно, только из пушки по воробьям. Примеров валом, ключевое слово для поиска WH_KEYBOARD и WH_KEYBOARD_LL
> 1. Я так понимаю, что цифры и буквенные клавиши заблокированы.
> Правильно?
Все заблокировано, ничего ты туда с клавиатуры не введешь.
> 3. Может есть еще идеи, особенно, чтобы это работало с конкретным
> контролом ввода символов, например TMemo
А я привел пример для абстрактного что ли?
← →
Loginov Dmitry © (2008-08-14 22:44) [4]> 2. А можно это реализовать для конкретного контрола с помощью
> простейшего хука? Если можно с примером.
>
> 3. Может есть еще идеи, особенно, чтобы это работало с конкретным
> контролом ввода символов, например TMemo, с клавиатуры и
> в системах XP и Vista.
Для начала опиши цель всего этого, а-то может тебе иMemo.Enabled := False
подойдет. Чем [1] не устраивает?
← →
Dr.Andrew (2008-08-14 22:48) [5]Да нет, просто есть два режима:
первый, редактирования, когда клавиатурный ввод в конкретный контрол должен быть включен
и второй, - просмотра, где клавиатурный ввод в конкретный контрол надо заблокировать, кстати, как и все остальные клавиши с клавиатуры (по возможности).
спасибо, просто хочу разобраться с этой задачей и всеми возможными путями ее реализации.
спасибо.
← →
Loginov Dmitry © (2008-08-14 23:04) [6]> первый, редактирования, когда клавиатурный ввод в конкретный
> контрол должен быть включен
>
> и второй, - просмотра, где клавиатурный ввод в конкретный
> контрол надо заблокировать, кстати, как и все остальные
> клавиши с клавиатуры (по возможности).
чем ReadOnly не мил?
← →
Dr.Andrew (2008-08-14 23:42) [7]Спасибо за ответ, свойсто ReadOnly не годится. Хочу разобраться в этой задаче до логической и оптимального разрешения. Есть еще идеи? Спасибо
← →
MsGuns © (2008-08-14 23:52) [8]Задача вполне решается с помощью Enable и ReadOnly
← →
{RASkov} © (2008-08-15 00:11) [9]> [7] Dr.Andrew (14.08.08 23:42)
Попробуй рассказать для чего сея затея.... Глядишь, и не все так сложно :)
← →
Dr.Andrew (2008-08-15 00:32) [10]Я уже рассказал для какой задачи. В одном случае - редактор, во втором - просмотрщик. Вот и все. Я уже писал, что хочу глубже разобраться в этой теме и найти оптимальный вариант у Мастеров. У специалистов высшей категории. А свойства для чайников - Enable и ReadOnly - мне знакомы. Спасибо и может Мастера все же подискутируют об оптимальном способе решения данной задачи. Спасибо.
← →
EvChul © (2008-08-15 00:41) [11]Я, конечно, не мастер, но для всех моих задач вполне хватает Enable и ReadOnly. В очень редких случаях - хук на клаву. А автор вопроса, видимо, хочет забороть Ctrl + Alt + Del. Видимо гадость какую затеял.
← →
Германн © (2008-08-15 01:26) [12]
> Dr.Andrew (15.08.08 00:32) [10]
>
> Я уже рассказал для какой задачи. В одном случае - редактор,
> во втором - просмотрщик. Вот и все.
Доп. вопрос. Что есть "просмотрщик".
← →
McSimm © (2008-08-15 01:33) [13]
> может Мастера все же подискутируют об оптимальном способе
> решения данной задачи. Спасибо.
пока не понятно чем именно не подходит ReadOnly, трудно говорить о какой-либо оптимизации "задачи", т.к. без этого понимания -- самый оптимальный вариант для режимов просмотра/редактирования.
← →
{RASkov} © (2008-08-15 11:51) [14]> В очень редких случаях - хук на клаву
Да не нужны тут хуки. Зачем? ReadOnly - самое то. Хоть автор и говорит, что это не подходит, но почему не подходит, не говорит....
> [10] Dr.Andrew (15.08.08 00:32)
> Спасибо и может Мастера все же подискутируют об оптимальном
> способе решения данной задачи. Спасибо.
Да о чем тут дискутировать? Есть задача(с твоих слов) - редактировать текст и в некоторых случаях запретить редактирование. Так вот именно для этих целей и есть ReadOnly.
← →
Dr.Andrew (2008-08-15 13:16) [15]Спасибо всем за проявленный интерес и помощь.
← →
oldman © (2008-08-15 13:21) [16]
> Как запретить/разрешить ввод от клавиатуры любых символов
существуют еще Copy и Paste
и существуют настырные юзеры
← →
Dr.Andrew (2008-08-15 13:22) [17]Спасибо.
← →
DVM © (2008-08-15 13:29) [18]
> oldman © (15.08.08 13:21) [16]
> существуют еще Copy и Paste
Только к клавиатуре они непосредственно не имеют отношения, кроме как вызываются горячими клавишами.
← →
Игорь Шевченко © (2008-08-15 14:18) [19]
> А свойства для чайников - Enable и ReadOnly - мне знакомы
Вот свойства для чайников и надо использовать
← →
oldman © (2008-08-15 14:45) [20]
> DVM © (15.08.08 13:29) [18]
>
> > oldman © (15.08.08 13:21) [16]
>
>
> > существуют еще Copy и Paste
>
> Только к клавиатуре они непосредственно не имеют отношения,
> кроме как вызываются горячими клавишами.
Я ж писал: существуют еще настырные юзеры...
То есть, если ставить, например, [1], они все равно нагадят.
Потому - "средства для чайников"
← →
Dr.Andrew (2008-08-15 15:02) [21]Спасибо за помощь.
← →
Anatoly Podgoretsky © (2008-08-15 15:07) [22]http://www.podgoretsky.com/ddp/chaos.aspx
← →
Dr.Andrew (2008-08-15 15:31) [23]Anatoly Podgoretsky
Извините, но ссылка ошибочна! Спасибо.
← →
Anatoly Podgoretsky © (2008-08-15 19:05) [24]Я опоздал, ты раздумал?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.073 c