Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Как сделать клавишу-акселератор (keyboard shortcut) компонету, у которого нет заголовка

Delphi , ОС и Железо , Клавиши

Как сделать клавишу-акселератор (keyboard shortcut) компонету, у которого нет заголовка


...Ну! И кто открывал бутылку о кнопку "F8"?!

Возможный вариант - присвоить ссылку на этот компонент свойству FocusControl TLabel'а. В примере используется невидимый Label для создания "быстрой" клавиши (Alt+M) компонента Memo. Чтобы использовать пример, разместите на форме компонент TMemo, Label и несколько других компонентов, которые могут принимать фокус ввода. Запустите программу, переведите фокус ввода куда-нибудь вне Memo и нажмите Alt+M - фокус ввода вернется в Memo.


procedure TForm1.FormCreate(Sender: TObject);
begin 
  Label1.Visible := false;
  Label1.Caption := '&M';
  Label1.FocusControl := Memo1;
end;

Вопрос по Delphi - это всегда интересно!

Чтобы создать клавиатурный сокращение (ускоритель) без подписи, можно использовать свойство FocusControl компонента TLabel, как описано в примере.

Давайте разберемся, что код делает:

  1. Обработчик события FormCreate вызывается при создании формы.
  2. Свойство Visible компонента Label1 устанавливается в False, сделав его невидимым.
  3. Свойство Caption компонента Label1 установлено в &M, что означает, что амперсанд (&) будет обработан как ускоритель клавиатурного сокращения (в этом случае - Alt+M).
  4. Свойство FocusControl компонента Label1 установлено в Memo1, что означает, что когда пользователь нажмет Alt+M, фокус будет передан обратно компоненту Memo1.

Чтобы использовать этот пример, создайте форму с следующими компонентами:

  • Компонент TMemo (например, Memo1)
  • Невидимый компонент TLabel (например, Label1)
  • Другие компоненты, которые могут получать фокус ввода (например, Edit1, Button1, и т.д.)

Запустите программу, а затем нажмите Alt+M, когда фокус находится вне компонента Memo1. Вы должны увидеть, что фокус возвращается к компоненту Memo1.

А кто открыл бутылку на клавише F8... Ну, я не знаю об этом!

Создать клавишу-акселератор (keyboard shortcut) для компонента, у которого нет заголовка, можно присвоить ссылку на этот компонент свойству FocusControl TLabel'а, после чего при нажатии соответствующей комбинации клавиш фокус ввода будет перенесен на указ


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Клавиши ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 19:24:22/0.0065889358520508/2