Форум: "Основная";
Поиск по всему сайту: 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.017 c
7-32584           Nickolaus             2001-12-05 22:03  2002.03.11  
ПОМОГИТЕ! ! ! Кто-нибудь что-нибудь слышал о записи на CD-RW


3-32428           TSV                   2002-02-08 10:26  2002.03.11  
Господа, есть вопрос по Access.


14-32548          Digitman              2002-01-25 16:30  2002.03.11  
Гуртовщики мыши


1-32442           AlexPro!              2002-02-22 14:09  2002.03.11  
Опять про Memo !!!!!!!!!!!!


1-32440           Lotus                 2002-02-22 09:21  2002.03.11  
Математическое выражение как аргумент