CodeNet / Языки программирования / Visual Basic / Контролы и формы
Альтернатива TabStrip - это SSTab
Альтернатива TabStrip - это SSTab
Просьба не рассчитывать, что это статья будет полным руководством, К пользованию элементом SSTab. Просто появились мысли, и я решил поделиться. Для уважаемых программистов со стажем я уверен, что не открыл ни чего нового. Буду рад, если чем-то помог или подал идею.
Чтобы засунуть TabStrip в программу нужно подключить Mscomctl.ocx, которая весит чуть больше 1 метра, хотя и содержит еще несколько полезных элементов:
- Toolbar
- StatusBar
- ProgressBar
- TreeView
- ListView
- ImageList
- Slider
- ImageCombo
- ну и конечно TabStrip
Только перед использованием спроси себя, нужно ли тебе таскать со своей программой (конечно, если ты не написал очень полезную и большую программу), OCX такого размерчика.
Думаю, если сама программа будет иметь размер, меньше 500 Кб, будет смешно, что ей для работы требуется еще и библиотека размером в 2 раза больше.
Могу предложить альтернативу TabStrip - это SSTab (TABCTL32.OCX), размер которой около 200 Кб.
Конечно, если вы будете использовать хотя бы половину элементов из Mscomctl.ocx, тогда будет другое дело, ну а если нет, то вам лучше использовать SSTab.
Для добавления его в проект, выберите меню Проект => Компоненты (Project => Components) и в появившемся окне выделите Microsoft Tabbed Dialog Control 6.0 (см. рис 1).
Рис. 1. Окно выбора компонентов для проекта
Рис. 2. Панель инструментов
Рис. 3. Внешний вид элементов TabStrip и SSTab
Для изменения внешнего вида закладок, используем свойство Style, в отличие от TabStrip у SSTab оно принимает значения:
Style:
- 0 - ssStyleTabbedDialog (установлено по умолчанию);
- 1 - ssStylePropertyPage (аналогично TabStrip).
Еще один плюс - это то, что в режиме конструирования (design), SSTab - позволяет переключаться между закладками визуально, т.е. позволяет компоновать каждую закладку проекта.
Свойство TabOrientation, аналогично, свойству Placement TabStrip, т.е. влияет на расположение закладок по отношению к элементу управления.
- 0 - ssTabOrientationTop - закладки сверху (стандартно);
- 1 - ssTabOrientationBottom - закладки внизу;
- 2 - ssTabOrientationLeft - закладки слева;
- 3 - ssTabOrientationRight - закладки справа.
Описывать все свойства SSTab я не вижу смысла, многие аналогичны другим элементам и если у вас будет желание использовать SSTab, то экспериментируйте, пробуйте разные варианты и уверен вы многому научитесь.
Как сделать, чтобы по нажатию клавиши Tab на клавиатуре, открывалась следующая закладка?
Очень просто:
Private Sub SSTab1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyTab Then If SSTab1.Tab = SSTab1.Tabs - 1 Then SSTab1.Tab = 0 Else SSTab1.Tab = SSTab1.Tab + 1 End If End If End Sub
П.С. Какой элемент использовать - это конечно личное дело каждого, так что нужно оценить и выбрать подходящий для себя вариант.
Удачи товарищи!