- •Алгоритмизация и программирование в среде Visual Basic 6.0 Учебное пособие
- •Программирование и алгоритмизация
- •Программы и языки программирования
- •Языки программирования
- •Языки программирования низкого уровня
- •Машинный язык
- •Assembler (Ассемблер)
- •Языки программирования высокого уровня
- •Basic (Бейсик)
- •Fortran (Фортран)
- •Cobol (Кобол)
- •Pascal (Паскаль)
- •Объектно-ориентированное и визуальное программирование
- •Программирование в среде Visual Basic Введение
- •Описание
- •Основы программирования в среде Visual Basic Типы данных
- •Допустимые имена
- •Описание переменных
- •Определение типа переменной по умолчанию
- •Массивы
- •Динамические массивы
- •Чистка массивов
- •Массивы объектов
- •Константы
- •Перечисленный тип
- •Тип данных, определенный пользователем
- •Операции Visual Basic
- •Математические операции
- •Операции отношения
- •Логические операции
- •Соединение строк
- •Приоритеты операций
- •Встроенные функции Visual Basic
- •Математические функции
- •Функции проверки типов и значений
- •Функции преобразования форматов Функция Format
- •Инструкции форматирования чисел
- •Символы форматирования чисел
- •Инструкции форматирования даты и времени
- •Функции преобразования типов Преобразование строки в число и обратно
- •Преобразование выражения в стандартный тип данных
- •Функции обработки строк
- •Константы Visual Basic для управляющих ascii кодов
- •Функции времени и даты
- •Функции выбора
- •Функции, возвращающие строки
- •Инструкции Visual Basic
- •Оператор присвоения
- •Операторы управления
- •Оператор условного перехода
- •Оператор выбора
- •Оператор цикла с параметром: For - Next
- •Оператор цикла для элементов группы: For Each - Next
- •Оператор цикла с предусловием: While - Wend
- •Оператор цикла с комбинацией условий Dо - Loop
- •Функции и процедуры Описание функций и процедур
- •Вызов функций и процедур
- •Рекурсивные функции
- •Область видимости переменной
- •Время жизни переменной
- •Константы и функции для задания цвета изображения
- •Создание стандартного проекта приложения
- •Интегрированная среда разработки приложений Visual Basic
- •Компоненты рабочей среды
- •Главное меню
- •Стандартная панель инструментов
- •Окно конструктора форм
- •Окно макета формы
- •Окно проводника проекта
- •Панель элементов управления
- •Размещение элементов управления в форме
- •Команды меню Format
- •Окно свойств
- •Основные свойства элементов управления
- •Редактор исходного кода программы Окно редактора
- •Настройки редактора
- •Настройки параметров работы редактора кода (Editor)
- •Основные события и методы элементов управления
- •Сохранение и выполнение проекта
- •Семейство форм
- •Основные свойства формы
- •Свойства оформления формы
- •Свойства позиционирования формы
- •Общие свойства формы
- •Свойства поведения формы
- •Свойство шрифт формы
- •Слои формы
- •Основные методы и события формы Методы формы
- •Графические методы формы
- •События формы
- •Обработка событий мыши
- •Обработка событий клавиатуры
- •Коды клавиш
- •Единицы измерения размеров
- •Инструкции начала и завершения работы с формой
- •Соглашения об именах объектов
- •Префиксы имен объектов
- •Компоненты навигации файловой системы
- •DriveListBox (Список дисков)
- •DirListBox (Список каталогов)
- •FileListBox (Список файлов)
- •Работа со списками
- •Функции и процедуры модуля проекта
- •Окно открытия файла (Open)
- •Встроенные диалоговые окна
- •Окно ввода - функция InputBox
- •Окно сообщений - функция MsgBox
- •Константы параметра Buttons
- •Применение функций InputBox и MsgBox в проекте
- •Создание графического интерфейса приложения
- •Основное меню
- •Контекстное меню
- •Список изображений
- •Панель инструментов
- •Строка состояния
- •Обработка событий панели инструментов
- •Обработка событий меню
- •Массивы объектов
- •Создание группы переключателей
- •Порядок размещения переключателей в рамках
- •Несколько форм в проекте Шаблоны форм диалога
- •Создание и вывод на экран окна диалога
- •Создание формы диалога из шаблона Form
- •Шаблон формы Dialog
- •Шаблон формы About Dialog
- •Шаблон формы Log in Dialog
- •Общий модуль проекта
- •Новая версия - Visual Basic.Net
Шаблон формы 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