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

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

Форма About Dialog содержит информацию о приложении и ее разработчике.

Свойство формы BorderStyle=VbFixedDialog. На форме расположена кнопка cmdOK со свойствами Default=True и Cancel=True, а также кнопка cmdSysInfo.

Модуль формы About Dialog содержит обработчики событий, позволяющие: считать из реестра путь к файлу msinfo32.exe (информация о системе), открыть файл, вывести надписи при загрузке формы, выгрузить форму.

Рис. 40. Форма About Dialog

При загрузке формы используется следующий код

Private Sub Form_Load()

Me.Caption = "About " & App.Title 'Название приложения

lblVersion.Caption= "Version " & App.Major & "." & App.Minor _

& "." & App.Revision

lblTitle.Caption = App.Title

End Sub

Рис. 41. Информация о системе (файл msinfo32.exe)

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

Форма Log in Dialog предназначена для регистрации пользователя.

Свойство формы BorderStyle=VbFixedDialog.

На форме расположены надписи, кнопка cmdOK со свойством Default=True, кнопка cmdCancel со свойством Cancel=True, а также текстовое поле txtUserName и поле txtPassword со свойством PasswordChar="*".

Рис. 42. Форма Log in Dialog

Модуль формы Log in Dialog содержит обработчики событий кнопок и открытую переменную LoginSucceeded со значением True, если пароль введен верно, иначе - False. При закрытии формы используется метод Hide, не выгружающий ее из оперативной памяти. Пример

Public LoginSucceeded As Boolean 'открытая переменная

Событие кнопки "Cancel"

Private Sub cmdCancel_Click()

LoginSucceeded = False

Me.Hide 'введенный пароль не стирается

End Sub

Событие кнопки "OK"

Private Sub cmdOK_Click()

If txtPassword = "psw" Then

LoginSucceeded = True

Me.Hide 'введенный пароль не стирается

Else

MsgBox "Invalid Password, try again!", , "Login"

txtPassword.SetFocus

SendKeys "{Home}+{End}" 'выделить текст

End If

End Sub

Общий модуль проекта

Процедуры, используемые в различных модулях проекта и не являющиеся методами какой либо формы проекта, размещаются в отдельном модуле проекта. Для добавления в проект модуля без формы выполните команду меню Project, Add Module. В окне Add Module выберите значок Module. Имя модуля можно изменить в окне свойств. Приведем пример использования модуля.

Установить шрифт по умолчанию для объекта.

Public Sub GetFontDefault(obj As Object)

With obj.Font

.Name = "MS Sans Serif"

.Size = 8

.Bold = False

.Italic = False

.Strikethrough = False

.Underline = False

End With

obj.ForeColor = vbButtonText

End Sub

Установить шрифт, выбранный в общем диалоге, для объекта.

Public Sub GetFontCmnDlg(obj As Object, CmnDlg As CommonDialog)

With obj.Font

.Name = CmnDlg.FontName

.Size = CmnDlg.FontSize

.Bold = CmnDlg.FontBold

.Italic = CmnDlg.FontItalic

.Strikethrough = CmnDlg.FontStrikethru

.Underline = CmnDlg.FontUnderline

End With

obj.ForeColor = CmnDlg.Color

End Sub

Рис. 43. Выбор атрибутов шрифта, в общем диалоге (CommonDialog)

Пример использования процедур модуля Module1 для присвоения цвета метке Label1. Установки флага – доступны экранные и принтерные шрифты и эффекты (Видоизменение).

Private Sub CmdModal_Click()

Call Module1.GetFontDefault(Label1)

.CancelError = True

On Error GoTo MtkErr

CommonDialog1.Flags=cdlCFBoth + cdlCFEffects

CommonDialog1.FontName = Label1.Font.Name

CommonDialog1.ShowFont

Call Module1.GetFontCmnDlg(Label1, CommonDialog1)

Exit Sub

MtkErr:

If Err.Number <> cdlCancel Then

MsgBox "Ошибка: " & Err.Description,vbCritical Or vbOKOnly, _

"CommonDialogError"

End If

End Sub

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