Visual Basic 6. Руководство разработчика



         

Ключевые свойства элемента управления - часть 4


End Sub

Чтобы переместить фокус на определенный конституэнтный элемент управления или выполнить некоторое действие, когда фокус перемещается на заказной элемент управления, введите соответствующий код в событие AccessKeyPress. Давайте добавим "горячие" клавиши к двум кнопкам Command из последнего примера. Для этого выполните следующие действия.

1. Переключитесь на объект UserControl и добавьте две кнопки - Command1 и Command2, как показано на рис. 16.15. (Если был выполнен пример при рас­смотрении свойства CanGetFocus двумя страницами ранее, то эти две кнопки уже находятся на форме.)

Рис. 16.15. Когда фокус перемещается на заказной элемент управления, он, на самом деле, перемещается на один из конституэнтных элементов управления

2. Переключитесь на тестовую форму и поместите на форму экземпляр нового элемента управления, кнопку или другой элемент управления.

3. Запустите тестовый проект и перемещайте фокус между элементами. Обратите внимание на следующее.

• При перемещении фокуса на заказной элемент управления с помощью мыши, фокус устанавливается на кнопке Command1.

• При перемещении фокуса на заказной элемент управления с помощью клавиши Tab в окне проверки отображается ASCII-код "горячей" клавиши.

4. Теперь переключитесь обратно на объект UserControl и назначьте "горячие" клавиши двум кнопкам Command. Измените их свойства Caption на Command&l и Command&2, чтобы клавиши 1 и 2 стали их "горячими" клавишами.

5. Запустите тестовый проект и поэкспериментируйте с перемещением фокуса на элементы управления, размещенные на форме.

Можно использовать комбинацию "горячих" клавиш, чтобы обратиться не только к указному элементу управления, но также и к отдельным его компонентам. Чтобы активизировать определенный конституэнтный элемент каждый раз, когда фокус перемещается на заказной элемент управления, добавьте метод SetFocus в подпрограмму UserControl_AccessKeyPress(). Если заказной элемент управления содержит текстовое поле как свою составную часть, то можно с помощью следующей подпрограммы перевести фокус и на это поле:




Содержание  Назад  Вперед