Читайте также: |
|
В этом разделе мы создадим простейший класс для работы с диалоговыми окнами, которым вы сможете пользоваться в своих будущих проектах. Если некоторые свойства или приемы покажутся вам непонятными, не огорчайтесь — объектно-ориентированное программирование (ООП) и ActiveX будут рассмотрены в уроках 15 и 17. Класс для работы с диалоговыми окнами создается так:
1. Создайте новый проект командой File > New Project.
2. Выберите тип проекта ActiveX DLL и нажмите кнопку ОК.
3. Создайте в проекте модуль класса и задайте свойству Name значение modDialogs.
4. Откройте окно программы модуля modDialogs и добавьте следующую процедуру:
Sub Main()
'Данная процедура может не содержать программного кода,
'однако она необходима для правильной работы DLL.
End Sub
5. Дважды щелкните на классе Class1 в окне проекта, чтобы сделать его активным.
6. Задайте следующие свойства класса.
Name: | Instancing: |
clsDialogs | 5 - MultiUse |
Первое диалоговое окно, которое мы создадим, предназначено для ввода логических величин, например ответов на вопросы типа «Вы уверены?» Я всегда отображаю такие окна перед выполнением каких-либо критических действий (например, закрытия приложения с несохраненными данными или форматированием диска). Все, что от вас требуется, — выбрать заголовок и текст сообщения и передать их функции YNBox. После этого остается лишь проверить, равно ли возвращаемое значение vbYes (то есть 6).
Откройте окно программы для класса clsDialogs и добавьте в него следующую функцию:
Public Function YNBox(title As String, msg As String) As Integer
Dim rc As Integer
Dim DlgDef As Long
DlgDef = vbYesNo + vbQuestion
rc = MsgBox(msg, DlgDef, title)
YNBox = rc
End Function
Следующая процедура отображает диалоговое окно с сообщением об ошибке. Ее можно вызывать из процедуры обработки ошибок, чтобы ваши сообщения об ошибках имели стандартный вид. Создайте следующую процедуру:
Public Sub ErrMsg(title As String, msg As String)
Dim rc As Integer
Dim DlgDef As Long
DlgDef = vbOkCancel + vbCritical
rc = MsgBox(msg, DlgDef, title)
End Sub
Этой процедуре достаточно передать заголовок и текст сообщения, а она сделает все остальное.
Осталось написать последнюю функцию, создающую диалоговое окно для регистрации пользователя. Я не собираюсь усложнять задачу и включать в нее воз-можность маскировки вводимых символов, а также проверку пользовательского имени и пароля. Единственная цель диалогового окна - немного облегчить ввод имени Тем не менее позднее вы можете создать полноценное диалогов текстовыми полями, маскирующими вводимые символы, ограничивающими дли-ну пароля и т. д. Созданное окно можно будет вызвать вместо функции
1. Добавьте следующий фрагмент:
Public Function LoginBox (title As String, msg As String, _
default As String) As String
Dim rc As String
rc = InputBox(msg, title)
LoginBox = rc
End Function
2. Сохраните проект под именем dialogs.vbp.
3 Откройте диалоговое окно Project Properties и введите строку Dialogs в поле Project Name. В поле Project Description введите строку Класс для работы с диалоговыми окнами.
4. Перейдите на вкладку Make и введите в поле Application Title строку Dialogs.
5. Созданный класс необходимо откомпилировать,чтобы им можно было пользоваться в приложениях. Выполните команду File > Make Dialogs.Dll и нажмите кнопку ОК.
После короткой паузы будет создана откомпилированная библиотека DLL, которую можно использовать в других программах. Более подробная информация об ActiveX DLL приведена в уроке 14. Следующий пример показывает, как использовать созданный класс в приложениях.
Дата добавления: 2015-07-20; просмотров: 81 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Нестандартные диалоговые окна | | | Использование класса диалоговых окон |