Навигация

  • Новости сайта

      Этим видео-уроком я хочу начать серию видео-уроков, которые будут посвящены основам работы в программе Microsoft Word.




    Наш опрос
    Какой из разделов материала Вас заинтересовал больше?

  • Создание форм в VBA и включение их в проекты
    Просмотров: 23 865 |
    Комментарии (0)
    18 февраль 2011 |

    5.1. Создание форм. Свойства, события и методы форм


    Форма – это главный объект, образующий визуальную основу приложения. По своей сути форма представляет собой окно, в котором можно размещать различные управляющие элементы при создании приложений. Для создания формы необходимо выполнить команду Вставка   UserForm. В окне Конструктора форм появится форма, имеющая стандартный вид для ОС Windows (рис. 5.1).

     

     

    Как и любой другой объект VBA форма имеет набор свойств, основные из которых приведены в таблице 5.1. Для получения справки по любому свойству достаточно выделить его в окне свойств и нажать F1.


    Таблица 5.1. Основные свойства формы

    Свойство

    Описание

    BackColor 

    Цвет фона для формы.

    BorderStyle

    Определяет тип границы, окружающей форму

    Caption

    Текст, который выводится в заголовке формы.

    Font

    Определяет тип и вид шрифта в форме.

    Height

    Определяет высоту формы в твипах.

    (Name)

    Имя объекта, для программы VBA. 

    Width

    Определяет ширину формы в твипах.

    Свойства можно изменять в режиме конструирования в окне свойств, либо программно в режиме выполнения. Например, в ходе выполнения программы можно изменить заголовок формы командой:

    frmForm1.Caption = "Привет"

    Программы для компьютера в ОС Windows управляются событиями. Каждый раз, когда нажимается кнопка, перемещается мышь, изменяются размеры формы и т.д., ОС генерирует сообщение. Сообщение доставляется соответствующему объекту, например форме, а та генерирует соответствующее событие. Следовательно, можно составить фрагмент программы, в котором объект будет реагировать на событие определенным образом, т.е. любому стандартному событию соответствует определенная процедура. Чтобы просмотреть события связанные с формой, необходимо в режиме конструирования дважды щелкнуть на ней – появится окно программы, в котором щелкнуть на списке Процедура.  В табл. 5.2 приведены наиболее часто используемые события.

     

    Таблица 5.2. Основные события форм

    Событие

    Описание

    Initialize

    Происходит во время конфигурации и до загрузки формы в память.

    Activate 

    Происходит после загрузки формы в память.

    Deactivate 

    Происходит, если форма перестает быть активной.

    Click

    Происходит при нажатии левой кнопки мыши на форме.

    Следующий пример изменяет заголовок формы при активизации, и уменьшает размер формы после щелчка левой кнопкой мыши на форме.

    Private Sub UserForm_Activate()

        frmForm1.Caption = "Щелчок на форме уменьшает её размеры"

    End Sub

    Private Sub UserForm_Click()

        frmForm1.Width = frmForm1.Width / 2

        frmForm1.Height = frmForm1.Height / 2

        frmForm1.Caption = "Сделай это еще раз!"

    End Sub

    Также форма обладает набором методов и инструкций. Метод определяет действие, которое может быть выполнено с объектом. Инструкция инициирует действие. Она может выполнить метод или функцию, В табл. 5.3 и 5.4 приведены наиболее часто используемые методы и инструкции для работы формами.

    Таблица 5.3. Основные методы форм 

    Метод

    Описание

    Hide 

    Скрывает объект UserForm, но не выгружает его.

    Show

    Выводит на экран объект UserForm.

    Таблица 5.4. Основные  инструкции форм

    Инструкция

    Описание

    Load 

    Загружает объект UserForm, но не отображает его на экране.

    Unload

    Удаляет объект UserForm из памяти.

    В следующем примере предполагается, что в проекте созданы две формы frmForms. При запуске проекта происходит событие Initialize для формы frmForm1, форма frmForm2 загружается и выводится на экран. Когда при помощи мыши выбирается frmForm2, она делается невидимой, и появляется форма frm Form1. Если же выбирается frmForm1, frmForm2 появляется вновь.

    'Событие Initialize формы frmForm1.

    Private Sub UserForm_Initialize()

          Load frmForm2

          frmForm2.Show

    End Sub

    ' Событие Click для формы frmForm2

    Private Sub UserForm_Click()

            frmForm2.Hide

    End Sub

    ' Событие Click для формы frmForm1

    Private Sub UserForm_Click()

            frmForm2.Show

    End Sub


    5.2. Выбор и использование управляющих элементов

    Создание управляющих элементов на форме выполняется с помощью Панели инструментов, которая выводится на экран командой Вид Панель элементов (рис. 5.2).

     

     

    С помощью кнопок этой панели можно поместить в форму необходимый элемент управления. Для этого нужно щелкнуть на значке элемента управления, далее при нажатой левой кнопке мыши определить размер и место расположения элемента в форме. Когда элемент на форме выделен (рамка объекта содержит маленькие прямоугольники) можно изменять его размеры и перемещать с помощью мыши, а также просматривать и изменять его свойства в окне свойств.

    Каждый управляющий элемент (объект) характеризуется набором свойств (которые можно изменять в режимах конструирования или выполнения), событий и методов.

    Для каждого объекта проекта необходимо определить его имя. В соответствии с общепринятыми соглашениями об именах объектов первые три символа имени должны отражать вид элемента, а остальные символы - назначение.  В табл. 5.5. представлены сочетания первых трех символов для наиболее часто используемых элементов.

    Таблица 5.5. Рекомендуемые сочетания первых трех символов имен

    Объект

    Первые 3 символа имени

    Пример имени

    Форма

    frm

    frmMyForm

    Надпись

    lbl

    lblInfo

    Текстовое поле

    txt

    txtInput

    Командная кнопка

    cmd

    cmdExit

    Флажок

    chk

    chkSound

    Переключатель

    opt

    optLevel

    Список

    lsb

    lsbTypes

    Рамка

    fra

    fraChoices

    Полоса прокрутки

    vcb

    vcbSpeed

    Рисунок

    pic

    picChema

    Командная кнопка является самым распространенным элементом управления, и может использоваться для организации выполнения вычислений и других действий, вызова процедур и функций пользователя, открытия форм и т.д. Основные свойства командной кнопки представлены в табл. 5.6. В свойстве Caption можно ставить символ & перед буквой, которая будет использоваться в сочетании с клавишей Alt для ускоренного доступа к кнопке. Также можно перейти к кнопке клавишей Tab, а затем нажать Enter.

    Таблица 5.6. Свойства командных кнопок

    Свойство

    Описание

    BackColor 

    Цвет фона кнопки.

    Caption

    Текст, который выводится на кнопке.

    Enabled 

    Значение False делает кнопку недоступной.

    Font

    Определяет тип и вид шрифта на кнопке.

    ForeColor 

    Определяет цвет шрифта на кнопке.

    (Name)

    Имя объекта, для программы VBA. 

    Picture 

    Добавляет рисунок на кнопку.

    PicturePosition 

    Определяет расположение текста и рисунка на кнопке.

    Visible 

    Значение False делает кнопку невидимой.

    Основным событием кнопки является Click. Для написания программного кода, который будет выполняться при нажатии командной кнопки, достаточно два раза щелкнуть на ней левой кнопкой мыши в режиме конструирования проекта.

    Наиболее полезным методом командной кнопки является SetFocus, позволяющий вернуться к кнопке (передать ей фокус). Например, следующая команда позволяет вернуться к кнопке по умолчанию после ввода данных в текстовое поле:  cmdMyButtum.SetFocus 

     

    Текстовое поле применяется для ввода или вывода информации. Основные свойства текстового поля представлены в табл. 5.7.

     

     

    Таблица  5.7. Свойства текстового поля

    Свойство

    Описание

    Enabled 

    Значение False делает поле недоступным.

    Font

    Определяет тип и вид шрифта в текстовом поле.

    ForeColor 

    Определяет цвет шрифта в текстовом поле.

    (Name)

    Имя объекта, для программы VBA. 

    MaxLength 

    Определяет количество вводимых символов в  текстовое поле.

    PasswordChar 

    Определяет символ, отображаемый при вводе в текстовое поле.

    Text 

    Определяет содержимое текстового поля.

    Например, для очистки содержимого текстового поля в ходе выполнения программы необходимо ввести в требуемом месте программного кода команду:

    txtResult.Text=" "

    Основным событием текстового поля является Change, происходящее при вводе или удалении символов. Например, команду cmdMyButtum.SetFocus можно поместить в процедуру события Change текстового поля.

    Надпись применяется как самостоятельно для вывода справочной информации, так и в виде "подсказок" для текстового поля, списка или другого элемента. Главное её отличие от текстового поля в том, пользователь не может изменить текст надписи (хотя его можно изменить как свойство во время выполнения программы). Основные свойства надписи представлены в табл. 5.8.

    Таблица 5.8. Свойства надписи

    Свойство

    Описание

    Caption

    Определяет текст, содержащийся в надписи.

    Font

    Определяет тип и вид шрифта надписи.

    ForeColor 

    Определяет цвет шрифта надписи.

    (Name)

    Имя объекта, для программы VBA. 

    Picture 

    Добавляет рисунок в надпись.

    PicturePosition 

    Определяет расположение текста и рисунка надписи.

    Список позволяет работать с перечнем из нескольких вариантов. Пользователь может просмотреть содержимое списка и выбрать один из вариантов для последующей обработки. Прямое редактирование содержимого списка невозможно. Если в списке помещаются не все строки, то автоматически добавляется вертикальная полоса прокрутки. Основные свойства списка представлены в табл. 5.9.

    Таблица 5.9. Свойства списка

    Свойство

    Описание

    (Name)

    Имя объекта, для программы VBA. 

    ListIndex 

    Возвращает номер текущей выделенной строки списка -1.

    Text 

    Содержимое текущей выделенной строки списка.

    Для списка чаще всего используются события Click и DblClick (двойной щелчок левой кнопкой мыши на одной из строк списка). Во втором случае пользователь одновременно выделяет строку и начинает ее обработку.

     

    Работа со списком начинается с его заполнения методом AddItem, который может вызываться несколько раз подряд. Часто метод AddItem помещается в процедуру UserForm_Initialize(), чтобы список заполнялся при загрузке формы. Метод RemoveItem удаляет строки из списка. Метод Clear очищает сразу весь список. Следующий пример показывает, как работают списки, при этом предполагается, что в проекте создана форма с двумя списками (List1 и List2). Двойной щелчок на любой строке одного списка перемещает её в другой список. Строка включается в другой список до того, как она будет удалена из текущего.

    Private Sub UserForm_Initialize()

        List1.AddItem "Стол"

        List1.AddItem "Стул"

        List1.AddItem "Диван"

        List1.AddItem "Кресло"

        List1.AddItem "Кровать"

    End Sub  

    Private Sub List1_DblClick()

       List2.AddItem List1.Text

       List1.RemoveItem

       List1.ListIndex

    End Sub

    Private Sub List2_dblClick()

       List1.AddItem List2.Text

       List2.RemoveItem

       List2.ListIndex 

    End Sub

    Переключатели позволяют выбрать один вариант из группы. Обычно они группируются в рамках (см. далее), однако их можно располагать прямо на форме, если используется только одна группа переключателей. Основные свойства переключателя представлены в табл. 5.10.

    Таблица 5.10. Свойства переключателя

    Свойство

    Описание

    Caption

    Задает текст, определяющий назначение переключателя.

    (Name)

    Имя объекта, для программы VBA. 

    Value 

    Значение True указывает, что переключатель выбран.

    Наиболее важным является свойство Value значение True (переключатель находится в установленном состоянии), которого в режиме конструирования задается только у одного переключателя в группе. В режиме выполнения это свойство чаще всего проверяется в процедуре события Click кнопки, нажатой после установки нужного переключателя, что позволяет проверить перед вызовом следующей процедуры некоторое условие. Однако определенные действия можно выполнять сразу же после выбора переключателя в процедуре его события Click.

    Флажок частично аналогичен переключателю, но в отличие от него может использоваться как отдельный самостоятельный элемент. Даже объединенные в группу флажки работают независимо друг от друга. Основные свойства флажков такие же, как и у переключателя (см. табл. 5.10). Однако свойство Value может принимать три значения (флажок находится в установленном состоянии, снятом или неопределенном).


    Наиболее часто используемым событием флажков является Click, в процедуре которого можно проверять состояние флажка по свойству Value. Следующий пример иллюстрирует работу флажков, при этом предполагается, что в проекте создана форма с двумя флажками (ChkBold и ChkInalic) и текстовым полем TxtExam (рис.5.3). После ввода символов в текстовое поле, с помощью флажков можно делать текст полужирным или курсивом. Свойства FontBold и FontItalic текстового поля устанавливают способы начертания текста.

     

     

    Рис. 5.3. Использование флажков


    Private Sub Chkbold_Click()

      If ChkBold.Value = True Then

        TxtExam.FontBold = True

      Else

        TxtExam.FontBold = False

      End If

    End Sub

    Private Sub ChkItalic_Click()

      If ChkBold.Value = True Then

        TxtExam.FontItalic = True            

      Else

       TxtExam.FontItalic = False

      End If                                                   

    End Sub

    Рамка используется для группировки переключателей или флажков, и помещается на форму раньше элементов, находящихся внутри неё. Переключатели находящиеся внутри рамки, работают как самостоятельная группа и не влияют на состояние переключателей в других рамках. Основным свойством рамки является Caption, которое задает текст, определяющий назначение элементов в рамке.

    Рисунок используется для простейшего вывода изображения на форме. Он может отображать растровые файлы (.BMP), значки (.ICO), метафайлы (WMF), а также файлы в формате JPEG (.JPG) и GIF (.GIF). Основные свойства рисунка представлены в табл. 5.11.

    Таблица 5.11. Свойства рисунка

    Свойство

    Описание

    Autosize 

    Значение True подгоняет размер элемента под размер содержимого.

    (Name)

    Имя объекта, для программы VBA. 

    Picture 

    Задает файл для рисунка.

    События и методы рамок и рисунков практически не используются.


    Вернуться назад



    Другие новости по теме:

      Информация
      Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

      Друзья сайта
      Календарь

      Можно ли получить высшее образование, не потратив денег? Всем известно, что поступить на бесплатное обучение довольно сложно. И если вам это не удалось, то можно существенно сократить свои расходы, выбрав контрактную форму обучения.



      Интернет-технологии – особый вид технологий создания, а также поддержки различного рода информационных ресурсов в сети Интернет. К этим ресурсам относятся форумы, чаты, сайты блоги, энциклопедии, а также электронные библиотеки.



      На сегодняшний день практически каждая компания, организация или фирма имеет свой корпоративный сайт в сети, что позволяет осуществлять различные действия через интернет. Безусловно, для нормального функционирования любого ресурса, он должен быть максимально качественно разработан, дополнен различными полезными деталями и материалами. Информационное наполнение сайтов может быть создано несколькими способами.



      По данным статистики подростки школьного возраста проводят за экранами телевизоров около четырех часов в день, и это не считая времени проводимого за компьютерными играми. Дети часто играют в игры, причем, даже не замечая времени, которое они тратят не на уроки, а на игры, многие даже пропускают школьные занятия, если нет контроля родителей. По исследованиям ученых компьютерные игры стимулируют у детей лишь ограниченный участок головного мозга, а ведь детям необходимо читать, писать и считать.



      Наука является основной движущей силой, которая развивает очень многие сферы в человеческой жизни. Но ученые тоже люди и могут допускать разные ошибки. Я думаю, что не всегда можно доверять науке. Она всегда является спорным вопросом. Некоторые ученые как - бы не от мира сего, их никто и ничто не волнует кроме своей работы,