Форум: "Основная";
Текущий архив: 2002.10.07;
Скачать: [xml.tar.bz2];
ВнизЗначащие символы Найти похожие ветки
← →
Шурик Ш (2002-09-26 16:16) [0]В событие OnKeyPress передается параметр Key. Подскажите пожалуйста, как можно "отбросить все лишние" символы (Esc, Enter, Tab...)?
← →
Шурик Ш (2002-09-26 16:17) [1]"Отбросить" - в смысле, игнорировать их.
← →
qube (2002-09-26 16:18) [2]Заведи константу -- множество лишних (или нелишних, смотря, чего больше) символов и проверяй каждый поступивший символ на вхождение.
← →
Mike Kouzmine (2002-09-26 16:18) [3]if not (Key in ["0","1","2"]) then Key := #0
← →
TTCustomDelphiMaster (2002-09-26 16:20) [4]if #31<key then
← →
Шурик Ш (2002-09-26 16:21) [5]Т.е. первые 31 символ - системные?
← →
pusrg (2002-09-26 16:43) [6]Событие OnKeyPress наступает, если компонент находится в фокусе, при нажатии пользователем клавиши символа. Параметр Key в обработчике этого события имеет тип Char и соответствует символу нажатой клавиши. При этом различаются симолы в верхнем и нижнем регистрах и символы кириллицы и латинские. Клавиши, не отражаемые в кодах ASCII (функциональные клавиши и такие, как Shift, Alt, Ctrl), не вызывают этого события. Поэтому нажатие таких комбинаций клавиш, как, например, Shift-A, генерирует только одно событие OnKeyPress, при котором параметр Key равен "A". Для того, чтобы распознавать клавиши, не соответствующие символам, или комбинации клавиш, надо использовать обработчики событий OnKeyDown и OnKeyUp.
Следует отметить, что событие OnKeyPress заведомо наступает, если нажимается только клавиша символа или клавиша символа при нажатой клавише Shift. Если же клавиша символа нажимается одновременно с какой-то из вспомогательных клавиш, то событие OnKeyPress может не наступить (произойдут только события OnKeyDown при нажатии и OnKeyUp при отпускании) или, если и наступит, то укажет на неверный символ. Например, при нажатой клавише Alt событие OnKeyPress при нажатии символьной клавиши не наступает. А при нажатой клавише Ctrl событие OnKeyPress при нажатии символьной клавиши наступает, но символ не распознается.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.07;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c