Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.06 c
15-1218032249
Tricky
2008-08-06 18:17
2008.09.28
По поводу критерив по которым удаляют топики


3-1206443287
denis24
2008-03-25 14:08
2008.09.28
Прямой доступ к ораклу без одбс


11-1193864481
Ask_For_Help
2007-11-01 00:01
2008.09.28
Пристыковка к краям экрана


15-1218050298
Franciscosuarez
2008-08-06 23:18
2008.09.28
Photoshop Уважаемые форумчане, подскажите, пожалуйста


15-1218084845
stas
2008-08-07 08:54
2008.09.28
Вопрос по HTML





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский