«аочное дистанционное образование с получением государственного диплома через Internet










ѕолучить информацию о поступлении
 
√лавна€ Ќовости  арта сайта ‘отоальбом √остева€ книга  онтакты

 

—обыти€ клавиатуры дл€ визуальных компонентов

≈ще одним важным средством, с помощью которого пользователь может управл€ть работой приложени€, €вл€етс€ клавиатура. ѕри всей кажущейс€ сложности этого технического устройства существуют всего три событи€, св€занных с клавиатурой:

- OnKeyDown Ц нажатие любой клавиши;
- OnKeyPress Ц нажатие клавиш ASCII-символов;
- OnKeyUp Ц отпускание любой клавиши.

“олько активный компонент, который имеет фокус ввода, может обрабатывать событи€ клавиатуры (из этого следует, что это могут быть только потомки класса TWinControl). ≈сли активных элементов нет, то событи€ от клавиатуры будет получать форма.  роме того, можно настроить работу приложени€ так, чтобы событи€ клавиатуры всегда перехватывала форма, а не активный элемент управлени€. ƒл€ этого достаточно установить свойство KeyPreview формы в true.

ѕри возникновении событий от клавиатуры дл€ активного компонента вызываютс€ соответствующие процедуры их обработки. —обытие OnKeyPress обычно используетс€ в том случае, когда необходима реакци€ на нажатие одной нефункциональной (символьной) клавиши на клавиатуре. Ќапример, оно не возникает при нажатии таких клавиш, как Shift или F4. —обыти€ OnKeyDown и OnKeyUp чаще всего используютс€ дл€ определени€ нажати€ комбинации клавиш, а также нажати€ различных функциональных клавиш.

–ассмотрим обработку событий клавиатуры на примере.

ƒопустим, необходимо создать приложение с формой, в заголовке которой можно было бы видеть, кака€ символьна€ клавиша была нажата, а на метке Label, размещенной на форме, отображалс€ бы код отпущенной клавиши. ¬ыход из приложени€ должен осуществл€тьс€ по нажатию клавиши F10. ƒл€ решени€ поставленной задачи, прежде всего, нужно установить свойство формы KeyPreview = true. “аким образом, все событи€ от клавиатуры бу-дет получать форма. ј чтобы форма обрабатывала событи€, как указано выше, требуютс€ следующие обработчики событий:

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);

begin

Form1.Caption:= 'Ќажата клавиша: ' + Key;

end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

begin

if Key = VK_F10 then Form1.Close;

end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);

begin

Label1.Caption:= ' од нажатой клавиши: ' + IntToStr(Key);

end;

¬ представленных обработчиках событий параметр Key позвол€ет узнать, кака€ клавиша была нажата, а значение параметра Shift дает возможность определить, были ли нажаты клавиши Alt, Ctrl, Shift, а также кнопки мыши.

¬ обработчике событи€ OnKeyDown дл€ проверки нажати€ клавиши F10 используетс€ стандартна€ константа VK_F10, котора€ содержит код данной клавиши. ¬ Delphi существует полный набор таких констант дл€ каждой клавиши. »х полный перечень можно найти в справочной литературе.


”знать как сэкономить в кризис моно на сайте ekonom-it.ru

ћаркеры в электронных таблицах “ехнологи€ хранени€, поиска и сортировки информации в базах данных ¬изуальные компоненты Ѕазовые свойства элементов управлени€ —обыти€ мыши дл€ визуальных компонентов –едакторы символьной информации  омпонент EDIT  омпонент LABELEDEDIT  омпонент MASKEDIT  омпонент SPINEDIT 


 
     
   
 


ѕриглашаем прин€ть участие в круглом столе!
подробнее   >>>
 

»нститут ћенеджмента, Ёкономики и »нноваций начинает набор на курсы повышени€ квалификации!
подробнее   >>>
 

”важемые студенты јЌќ ¬ѕќ »ћЁи»!
подробнее   >>>
 

Ќачинаетс€ набор на курсы повышени€ квалификации!
подробнее   >>>
 

ѕриглашаем прин€ть участие в конференци€х!
подробнее   >>>
 


все новости...

 


–ассылки Subscribe.Ru
—овременное образование
ѕодписатьс€ письмом