Нестандартные диалоговые окна

 

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

Чтобы вам не пришлось запоминать все константы и параметры, используемые при создании нестандартных диалоговых окон, создайте специальные функции (они называются оболочками) и внесите их в отдельный модуль кода. Затем этот модуль можно включить в проект и при необходимости вызывать функции-оболочки. Оболочкой называется функция, в которой вызываются другие функции и процедуры. Оболочки упрощают программу и позволяют создавать модули, предназначенные для многократного использования. Основное преимущество оболочки заключается в том, что вы можете всего один раз написать программный код, а потом пользоваться им снова и снова. Давайте рассмотрим небольшой пример:

1. Откройте окно программы для предыдущего примера.

2. Добавьте следующий фрагмент:

 

Private Sub LoginBox()

Dim гс As String

 

гс = InputBox("Bведитe имя:")

If гс = "АДМИНИСТРАТОР" Then

MsgBox "Здравствуй, хозяин!"

Else

MsgBox "Привет, " & гс & "!"

End If

End Sub

 

3. Измените код процедуры события Click кнопки cmdTryMe:

 

Private.Sub cmdTryMe_Click()

LoginBox

End Sub

 

4. Запустите приложение.

5. Введите в текстовом поле строку АДМИНИСТРАТОР и нажмите кнопку ОК.

Хотя этот пример во многом похож на предыдущий, диалоговое окно теперь вызывается из процедуры-оболочки LoginBox. Вместо того чтобы включать весь код в процедуру события Click, достаточно вызвать процедуру LoginBox — результат будет тем же.

Обратите также внимание на небольшое изменение. Теперь функция проверяет введенное имя, и если оно совпадает со строкой АДМИНИСТРАТОР — приветствует пользователя специальным сообщением. Данный пример наглядно показывает, как все действия, необходимые для выполнения законченной операции, укладываются в одной удобной функции. Дальнейшее развитие этого подхода описано в уроке 15, «Объектно-ориентированное программирование (ООП)». При желании тему можно развить, связав этот модуль с классом и создав собственный класс для работы с диалоговым окнами. Впрочем, вряд ли это стоит делать - разве что вам приходится часто работать с диалоговыми окнами, отсутствующими в Visual Basic. Например, большинство моих программ распространяется на условиях shareware (условно бесплатно). Поскольку в Visual Basic нет специальных диалоговых окон (например, окна регистрации), используемых в shareware-программах, я создал простейший класс ShareLib и пользуюсь им во всех своих проектах. В следующем примере будет создан простейший класс для работы с диалоговыми окнами, который можно будет настроить в соответствии с вашими требованиями.

 

ПОДСКАЗКА Если в ваших программах часто используются одни и те же стандартные операции, попробуйте «завернуть» их в специальные функции-оболочки и вызывать эти функции в программе. В результате экономится не только время программирования и отладки, но и память!

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: