Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Клавиши на клаве [D5, Win95/98, WinME]


Win32 ©   (2002-03-15 17:27:00) 

А можно ли заблокировать все клавиши с циферками на клаве? Если возможно, код pliz


EsKor   (2002-03-19 03:49:00) [1]

Если это касается только конкретного компонента вашего приложения то вполне подойдет код приведенный mukha, только еще нужно (м.б. на всякий случай) свойство формы KeyPreview = false. Если для всех компонентов активной формы, то KeyPreview = true и обработчик KeyPress делать для формы. Можно еще поковырять компонент ApplicationEvents. При его использовании он первым обрабатывает указанное событие, если нужно чтобы это событие далее не обрабатывалось другим активным компонентом и/или активной формой, у него есть метод CancelDispatch.
Если вообще и для любого приложения (в текущем сеансе Windows), то один из вариантов - перехватывать прерывание от клавиатуры и блокировать запись цифрового символа в ее буфер. Возможно, что есть и более простой путь.


mukha   (2002-03-18 12:36:00) [2]

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key in ["0".."9"]) then
Key:=#0;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо