Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. Всплывающие формы и диалоговые окна
  2. Стандартные диалоговые окна
  3. Умение генерировать нестандартные решения

 

Иногда выясняется, что возможностей диалоговых окон 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 и пользуюсь им во всех своих проектах. В следующем примере будет создан простейший класс для работы с диалоговыми окнами, который можно будет настроить в соответствии с вашими требованиями.

 

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

 


Дата добавления: 2015-07-20; просмотров: 84 | Нарушение авторских прав


Читайте в этой же книге: Использование элемента данных ADO | Использование объектов подключения и набора записей ADO | УРОК Печать | Коллекция Printers | Использование Crystal Reports в Visual Basic | Создание отчета | Использование отчета в приложении | Current Project | Просмотр результатов | Стандартные диалоговые окна |
<== предыдущая страница | следующая страница ==>
Окно ввода| Создание класса диалогового окна

mybiblioteka.su - 2015-2024 год. (0.005 сек.)