Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
512244_74984_sidorov_m_e_algoritmizaciya_i_prog....doc
Скачиваний:
24
Добавлен:
01.05.2019
Размер:
5.08 Mб
Скачать

Несколько форм в проекте Шаблоны форм диалога

Шаблоны форм можно использовать при создании проектов в среде проектирования Visual Basic в качестве вспомогательных окон диалога, временно появляющиеся на экране с какими-либо сообщениями для пользователя. Как правило такие окна бывают модальными (VbModal), т.е. "прекращающими" работу пользователя с другими окнами приложения, пока пользователь не закроет модальное окно.

В Visual Basic имеются шаблоны форм диалога, например:

  • Dialog – простой диалог

  • About Dialog – о программе

  • Log in Dialog - диалог регистрации

Создание и вывод на экран окна диалога

Для создания окна диалога можно воспользоваться одним из шаблонов форм, представляемых Visual Basic. Выполните команду меню Project, Add Form, в окне Add Form выберите нужную форму. В окне Project появятся новые формы проекта.

Рис. 37. Создание окон диалога

Чтобы открыть форму в конструкторе форм необходимо в окне Project выполнить двойной щелчок на названии формы.

Для вывода на экран окна диалога используется метод Show:

ИмяФормы.Show [style] [,ownerform]

где

style – стиль формы: VbModal – модальная, VbModaless – не модальная (по умолчанию)

ownerform – собственник формы, часто используется ключевое слово Me, обозначающее форму, в модуле которой был вызван метод, например: frmDialog.Show vbModal, Me

Создание формы диалога из шаблона Form

Свою форму диалога можно создать из шаблона Form, установив необходимые свойства формы и разместив на ней нужные компоненты. В данном случае форма будет предназначена для просмотра видео-клипов. Для этого добавьте на панель General компонент Microsoft Windows Common Controls 2-6.0.

Добавьте в стандартный проект форму Form и установите свойства формы:

Name=FrmMyDialog, BackColor=ToolTip, BorderStyle=VbFixedDialog.

Добавьте на форму кнопки CmdYes (Да) со свойством Default=True и CmdNo (Нет) со свойством Cancel=True.

Добавьте на форму компоненты CommonDialog и Animation.

Для компонента Animation установите свойство Center=True.

Рис. 38. Форма с компонентом Animation

Для вывода формы необходимо в модуле главной формы проекта, например в событии Click кнопки Command1 набрать код:

Private Sub Command1_Click()

FrmMyDialog.Show vbModal, Me

End Sub

В модуле формы FrmMyDialog наберите код:

Private Sub Form_Load()

CommonDialog1.InitDir="C:\Program Files\Microsoft Visual Studio" _

&"\Common\Graphics\Avis\"

End Sub

Private Sub CmdNo_Click()

Animation1.Stop

Animation1.Close

CommonDialog1.InitDir = CurDir

Unload Me

End Sub

Private Sub CmdYes_Click()

On Error GoTo MtkErr

CommonDialog1.Flags = cdlOFNFileMustExist

CommonDialog1.Filter = "аудио-видио файлы (*.avi)|*.avi"

CommonDialog1.ShowOpen

If CommonDialog1.FileName = Empty Then Exit Sub

Animation1.Open CommonDialog1.FileName

Animation1.Play

Exit Sub

MtkErr:

MsgBox "Ошибка: " & Err.Description,vbCritical,"CommonDialogError"

End Sub

Шаблон формы Dialog

Форма Dialog используется для вывода сообщений и запросов, например, на продолжение работы приложения. Свойство формы BorderStyle имеет значение VbFixedDialog. На форме расположены кнопки OKButton, свойство Default=True и CancelButton, свойство Cancel=True..

Добавьте в форму Dialog элемент управления Label с надписью " Закрыть приложение ?", как показано на Рис. 39. Чтобы узнать, какая кнопка была нажата пользователем, введем открытую переменную BlnDlgRet логического типа.

Рис. 39. Форма Dialog

В модуле формы Dialog наберите код обработки событий

Public BlnDlgRet As Boolean 'переменная, возвращающая результат (да, нет)

Private Sub CancelButton_Click()

BlnDlgRet = False

Unload Me

End Sub

Private Sub OKButton_Click()

BlnDlgRet = True

Unload Me

End Sub

Форму Dialog можно использовать в модуле главной формы проекта, например в событии QueryUnload для подтверждения закрытия формы:

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

Dialog.Show vbModal, Me

If Dialog.BlnDlgRet = True Then Cancel = False

End Sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]