Добрый день! Поясните, пожалуйста, 3000 р. стоит документ об окончании курса. Если он не нужен, то можно учиться бесплатно? |
Подробности об элементах управления
4.16. TabStrip
04-10-Набор вкладок.xlsm— пример к п. 4.16.
TabStrip — набор вкладок. Используется для организации нескольких рабочих областей на форме. В объект входит семейство Tabs (Вкладки), которое содержит все активные вкладки.
Основное событие объекта — Change (Изменение). Оно происходит при смене вкладки.
Наборы вкладок используются достаточно редко. Например, их можно применить, чтобы по-разному заполнять одни и те же поля, по-разному устанавливать флажки и т.д.
Дело в том, что TabStrip не содержит элементы управления внутри себя. Он служит как бы "фоном" для размещения элементов.
Cамый яркий пример использования TabStrip — это создание приложений с многоязыковым интерфейсом. Рассмотрим пример.
Добавим в проект форму frm_First, разместим на ней элемент управления TabStrip с именем tab_First. По умолчанию у TabStrip две вкладки. Первая по порядку вкладка имеет номер 0, вторая — 1 и т.д. Для того, чтобы узнать номер активной вкладки, можно воспользоваться свойством Value элемента управления TabStrip.
Для того, чтобы изменить надписи на вкладках, добавить новые и т.д. служит контекстное меню, которое появляется на элементе управления TabStrip при щелчке по нему правой кнопкой мыши. Подпишем первую вкладку Русский, вторую — English.
Добавим на форму, поверх tab_First, метку с именем lbl_First и текстом Добро пожаловать, а так же кнопку cmd_First с надписью Вперед (рис. 4.14.).
Теперь добавим обработчик события Change для tab_First. (листинг 4.13).
If tab_First.Value = 0 Then lbl_First.Caption = "Добро пожаловать!" cmd_First.Caption = "Вперед" End If If tab_First.Value = 1 Then lbl_First.Caption = "Welcome!" cmd_First.Caption = "Next" End IfЛистинг 4.13. Обработчик события Change для tab_First
В этом листинге вы можете видеть конструкцию сравнения и принятия решений If-End If. Подробнее о ней мы будем говорить в "Основы VBA: синтаксис, переменные, типы данных" . Если "перевести" один из блоков листинга 4.13. на обычный язык, то получится следующее:
Если tab_First.Value=0 Тогда lbl_First.Caption = "Добро пожаловать!" cmd_First.Caption = "Вперед" Конец сравнения
То есть в блоке If мы сравниваем свойство Value и, если оно равно 0, выполняем код, который находится между If и End If. Иначе мы ничего не выполняем и переходим к следующему сравнению. Одно из них выполнится в любом случае, так как на элементе tab_First есть лишь две вкладки.
В результате, если выбрана первая вкладка (индекс 0), свойствам Caption элементов управления lbl_First и cmd_First присваиваются русскоязычные слова. Если же выбрана вкладка с индексом 1, элементам управления присваиваются англоязычные названия.
4.17. Calendar
04-11-Календарь.docm — пример к п. 4.17.
Calendar — календарь. Этот объект удобно использовать для ввода и отображения даты. Для того чтобы считать дату, можно использовать его свойство Value (Значение). С помощью этого же свойства можно установить дату на календаре.
При изменении дня недели генерируется событие Click (Щелчок), при смене месяца или года – события NewMonth (Новый месяц) и NewYear (Новый год).
Давайте рассмотрим пример. Добавим на форму элемент управления Calendar, назовем его cld_First, добавим второй календарь с именем cld_Second. Добавим на форму кнопку — cmd_First, с подписью "Вывести дату". По нажатию на кнопку cmd_First в окне сообщения должна выводиться дата, установленная в cld_First (листинг 4.14).
При изменении даты в календаре cld_First, в календаре cld_Second должен устанавливаться тот же месяц, который установлен в cld_First, число месяца должно устанавливаться на 1 день месяца (листинг 4.15).
MsgBox (cld_First.Value)Листинг 4.14. Обработчик события Click для cmd_First
cld_Second.Month = cld_First.Month cld_Second.Day = 1Листинг 4.15. Обработчик события Click для cld_First
На рис. 4.15. вы можете видеть форму с парой календарей.