АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Пример создания формы

Читайте также:
  1. B) Количественная определённость относительной формы стоимости
  2. II Организационные формы антиглобалистского движения.
  3. II.Примерная тематика курсовых работ
  4. III. Формы борьбы и эффективность действий антиглобалистов.
  5. IV. Порядок и формы контроля за исполнением государственной функции
  6. SWОT – анализ - пример
  7. А. правительственные реформы середины XVI в.
  8. Адвокатура России в период до судебной реформы 1864 г.
  9. Административная, судебная и военная реформы
  10. Административно-территориальные реформы в Казахстане во второй половине XIX в.
  11. Алгоритм создания учетной политики для целей налогообложения
  12. Анализ реализации функций системы самоменеджмента на предприятии (на примере ООО «ХХХ»)

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

  1. После добавления
  2. бавлен функциональный код, приведенный и прокомментированный в листинзаготовки формы (меню "Вставка/UserForm"), ее имя (свойство Name) изменено на frmAddStudent.
  3. На форму были добавлены следующие элементы управления: TextBox, Label, OptionButton, CommandButton. Элементам TextBox, предназначенным для ввода данных пользователем, заданы имена (свойство Name) txtLName, txtFName, txtMName, txtContacts, txtBDay. Элементам Label заданы надписи (свойство Caption) "Фамилия:", "Имя:", "Отчество" и т.д. Элементы OptionButton, используемые для указания пола студента, получили имена optMale и optFemale. Эти элементы сгрупппированы с помощью рамки (Frame). Для подтверждения ввода или отмены действий на форму добавлены 2 кнопки (CommandButton). Первой из них задано имя (свойство Name) btnAdd и надпись (свойство Caption) "Принять", второй - btnCancel и "Отмена" соответственно.
  4. Далее, размещенные элементы были спозиционированы путем изменения размеров и положения через указание значений свойств Left, Top, Width и Height.
  5. В завершении были созданы (двойной клик на соответствующем элементе) заготовки обработчиков событий для кнопки btnAdd и btnCancel. Заготовка обработчика события инициализации формы была создана путем выбора этого события из списка доступных методов ("Редактор формы/Declarations/initialize")
  6. В проект был добавлен дополнительный модуль с именем General (листинг 30), где описаны общие данные проекта, в частности переменная stud (CStudent) и макрос sample33, из которого вызывается форма frmAddStudent.
  7. В созданные обработчики событий доге 2.1.

Листинг 2. Модуль General

Option Explicit ' явное описание переменных

Public stud As New CStudent ' экземпляр класса CStudent

Public Const AppName = "БД Деканат"

 

Sub sample32()

frmAddStudent.Show '

Показать форму

End Sub

Листинг 2.1. Модуль формы frmAddStudent

' Событие происходит в момент первого вызова формы

Private Sub UserForm_Initialize()

Caption = AppName & ": Добавление студента"

' Заголовок формы

' Задаем значение по умолчанию в поле ввода даты рождения

txtBDay = Format(Date, "DD.MM.YYYY")

End Sub

' Событие происходит по клику на кнопке "Принять" (btnAdd)

Private Sub btnAdd_Click()

With stud ' Записываем значения полей ввода в свойства объекта stud

.LastName = txtLName.Value

.FirstName = txtFName.Value

.MiddleName = txtMName.Value

.BirthDay = CDate(txtBDay.Value)

.Contacts = txtContacts.Value

' Проверяем значения элементов OptionButton

' Если установлен optMale, то в свойство stud.Gender пишем "муж",...

 

If optMale.Value Then

.Gender = "муж"

ElseIf optFemale.Value Then '... иначе - "жен"

.Gender = "жен"

End If

Debug.Print.FullInfo

' отображаем информацию о студенте в отладчике

End With

' Уведомляем пользователя о добавлении записи и ждем дальнейших указаний

' Если пользователь нажмет "Отмена", то скрываем форму (метод Hide)

msg = "Запись добавлена." & vbCrLf & "Продолжить?"

If MsgBox(Prompt:=msg, Title:=AppName, Buttons:=vbOKCancel + vbInformation) = vbCancel Then Hide

End Sub

 

' Событие происходит при выборе кнопки "Отмена" (btnCancel)

 

Private Sub

btnCancel_Click()

Hide ' скрываем форму

End Sub

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


1 | 2 | 3 | 4 | 5 | 6 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)