Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];




Вниз

Обработчик KeyPress 


Виталий_2002   (2002-02-25 11:01) [0]

Здравствуйте. У меня маленький вопрос: как сделать так чтобы при вводе данных например в Edit при нажатии недопустимых клавиш курсор просто не двигался?



VictorT   (2002-02-25 12:06) [1]

if Key = недопустимый символ
then Key := 0;



Виталий_2002   (2002-02-25 12:12) [2]

пасибо ))



[NIKEL]   (2002-02-25 12:18) [3]

а чтоб не париться в бесконечных проверках советую сделать так
допустим ты хочешь чтоб надо было вводить тока цифры:

Set <char,"0", "9"> Dig;
Dig << "0" << "1" << "2" << "3" << "4" << "5" << "6" << "7"
<< "8" << "9";//заносим в множество все допустимые символы
//и элигантная проверка
if (! Dig.Contains(Key))
Key = 0;//подменям недопустимый символ нулём(он нигде не появиться)



greenrul   (2002-02-25 12:27) [4]

Вопрос не в кассу - как Key переверсти в
1. Ctrl,Alt,A,B
2. VK_CONTROL, VK_PAUSE

то есть из всяких 101,13,89 в это



VictorT   (2002-02-25 12:55) [5]

2 [NIKEL]
Маленькое уточнение: надо ещё разрешить ввод символов с кодом меньше 32 (пробел), иначе не будут работать некоторые управляющие клавиши, например, стрелки. Приведённый тобой код у меня реализован так:
if (((Key<"0") || (Key>"9")) && (Key >= " "))
Key = 0;



[NIKEL]   (2002-02-25 15:21) [6]

2greenrul
чё то не понятно :)
как перевести? VK_CONTROL, VK_PAUSE - это всё именнованные константы
можно описывать как угодно
клавиша F1 в десятичном представлении выглядит как 112, в hex выглядит как 0x70, а в символьном как VK_F1
лучше использовать всегда hex-предстовление или десятичное



greenrul   (2002-02-25 18:51) [7]

Ну как тогда Key=101 в строку "A" перевести?




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.015 c
3-32390           Jim                   2002-02-12 11:50  2002.03.11  
Глюк с BLOB ом: как бороть этот баг???


14-32568          Philip                2002-01-27 00:43  2002.03.11  
Цена Delphi 6.0


1-32482           GovoRun               2002-02-23 13:49  2002.03.11  
InitialDir for OpenDialog


7-32584           Nickolaus             2001-12-05 22:03  2002.03.11  
ПОМОГИТЕ! ! ! Кто-нибудь что-нибудь слышал о записи на CD-RW


3-32405           vacheslav             2002-02-12 15:00  2002.03.11  
Динамические таблицы