SetFocus следующим образом.
1. Вернитесь к базовому прототипу элемента управления и поместите две кнопки Command на UserControl. He меняйте их имена.
2. Добавьте следующие строки, чтобы переместить фокус на кнопку Command2 в событии EnterFocus.
Private Sub UserControl _EnterFocus()
UserControl.Backcolor = vbRed
Command2.SetFocus
End Sub
3. Переключитесь на тестовую форму, удалите все элементы управления на форме и поместите на нее экземпляр нового элемента управления (достаточно большой, чтобы отобразить обе кнопки) и еще одну кнопку Command.
4. Запустите проект и посмотрите, как фокус перемещается от одного элемента управления к другому. Обратите внимание: когда специальный (заказной) элемент управления получает фокус, он передает его кнопке Command2. Нельзя переместить фокус на кнопку Command1 с помощью клавиши табуляции. Заказной элемент управления представляет собой атомарный объект, и он получает фокус один раз.
ControlContainer.
Если это свойство установлено в True, то заказной элемент управления может быть контейнером для других элементов управления. Обычно, элементы управления, помещенные в контейнер, образуют группу, и они все перемещаются вместе. При перемещении элемента-контейнера по форме все элементы управления, содержащиеся в нем, также перемещаются.
По умолчанию заказной элемент управления не является контейнером. Другими словами, можно нарисовать кнопку Command, которая находится наполовину на заказном элементе управления и наполовину вне его. Для изменения такого поведения нужно установить свойство ControlContainer равным True.
Alignable. Если это свойство установлено в True, то заказной элемент управления во время конструирования имеет свойство Align. Свойство Align определяет, где и как элемент управления выравнивается на форме. Возможные значения свойства Align показаны в табл. 16.3.
Таблица 16.3. Значения свойства Align
Значение |
Описание |
VbAlignNone |
Элемент управления выравнивается вручную (установлено по умолчанию) |
VbAlignTop |
Элемент управления выравнивается по верхнему краю формы |
VbAlignLeft |
Элемент управления выравнивается по левому краю формы |
VbAlign Right |
Элемент управления выравнивается по правому краю формы |
VbAlignBottom |
Элемент управления выравнивается по нижнему краю формы |