OnKeyDown

Автор: Pattern Дата: 13.09.2003 18:04 Вот такой вот вопросик. У меня на ASPLinux 7.3 установлен Kylix 2.
Почему то сабж не работает на форме. К примеру простой пример, получить код нажатой клавиши на клавиатуре:

procedure TForm.Form1OnKeyDown(...; Key: Word;...)
begin
Label1.Caption := IntToStr(Ord(Key));
end;

Самое интересное, что программа в эту функцию вообще не заходит! (проверял установкой "бряка";-). Кто подскажет, почему так? Ведь точно такая же программа под винду прекрасно обрабатывалась...
Re: OnKeyDown 15.09.2003 23:31Light А чего ты хочиш добится строкой Ord(Key)?
Re: OnKeyDown 16.09.2003 01:11Pattern Ну здрасьте приехали... Переменная Key содержит в себе код нажатой клавиши типа Word (смотри входящие данные). Причём (правда не знаю как на Kylix, но на Delphi точно) он может содержать не только опкод клавиши, но и слова типа VK_RETURN, VK_CONTROL и т.п. Но они не очень нужны на данный момент.
Дык вот. Через функцию Ord(Key) получаем опкод клавиши в виде целого числа.Читайте маны, ибо они рулез. Но вопрос то вовсе не в этой функции, а почему сама форма не обрабатывает эту функцию.
Возьми просто усложни слегка задачу и всё будет работать. Например, кинь на форму TLabel и TEdit и в обработчике Form1.Edit1OnKeyDown пропиши Label1.Caption := IntToStr(Ord(Key));
Результат посмотришь сам.
RSS-материал