- •Алгоритмизация и программирование в среде 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
Окно открытия файла (Open)
Окно открытия файла отображается с помощью компонента CommonDialog, показывает содержимое текущего каталога и позволяет выбрать файл. Чтобы добавить этот компонент на панель инструментов General отройте окно Components командой меню Project, Components, вкладку Controls и выберите компонент Microsoft Common Dialog Control 6.0
Компонент CommonDialog (Общий диалог) предоставляет стандартный набор окон диалога: Open (Открытие файла), Save as (Сохранение), Color (Цвет), Font (Выбор шрифта), Print (Печать) и Справка (Help).
Методы компонента CommonDialog задают вид отображаемого окна, например:
Вид окна |
Метод |
Вид окна |
Метод |
Открытие файла (Open) |
ShowOpen |
Выбор шрифта (Font) |
ShowFont |
Сохранение файла (Save) |
ShowSave |
Печать (Print) |
ShowPrint |
Цвет (Color) |
ShowColor |
Справка (Help) |
ShowHelp |
Все окна имеют свойство CancelError, позволяющего при установке значения True перехватить и обработать ошибку с кодом cdlCancel (если пользователь нажмет кнопку Cancel окна диалога), а также свойство Flags - настройки, задаваемые суммой констант.
|
|
Рис. 26. Окна открытия файла и выбора шрифта |
Приведем назначение некоторых свойств и констант окна открытия файла.
Свойство |
Возвращает или устанавливает |
FileName |
имя открываемого файла |
Filter |
фильтр отображаемых файлов. Синтаксис: Filter = Описание1 | Маска1 | Описание2 |Маска2 и т.п. Например: Filter = "Текстовые файлы (*.txt) | *.txt | " _ & "Графические файлы (*.bmp, *.gif). | *.bmp, *.gif" |
Filterlndex |
текущий номер маски из фильтра. Нумерация с 1. |
InitDir |
текущую директорию при открытии окна диалога |
Константы Flags |
Устанавливает для окна Open |
cdlOFNFileMustExist |
возможность ввода имен только существующих файлов. |
cdlOFNExplorer |
стиль проводника Windows |
В следующем проекте-примере будет использоваться элемент управления Timer (Таймер). В событии Timer пишется программный код, который выполняется через промежутки времени, заданные в свойстве таймера Interval. Это свойство задает интервал времени в миллисекундах. Таймер включается после определения его свойства Enabled=True. Таймер не отображается в окне во время выполнения программы.
Пример. Разместим на форме компоненты: Image1, Picture1, CommonDialog1 и Timer1. Для Image1 и Picture1 в конструкторе зададим свойство Picture, рис. 27.
Рис. 27. Форма с изменяющимися картинками
Определим объект для временного хранения изображения (картинки).
Private TmpPicture As New StdPicture
Определим функцию, возвращающую имя файла, указанного в CommonDialog.
Private Function FCmdFileName(CmD As CommonDialog) As String
CmD.CancelError = True
On Error GoTo MtkEr
CmD.Flags = cdlOFNFileMustExist
CmD.FileName = Empty
CmD.ShowOpen
FCmdFileName = CmD.FileName
Exit Function
MtkEr:
If Err.Number <> cdlCancel Then
FCmdFileName = Empty
MsgBox "Ошибка: " & Err.Description,vbCritical,"CmnDlgError"
End If
End Function
Определим функцию, загружающую графический файл
Private Sub LoadGrFile(Pict As Object, CmnDlg As CommonDialog)
Dim CmdFileName As String
Timer1.Enabled = False
CmD.InitDir="C:\Program Files\Microsoft Visual Studio\Common\Graphics\"
CmnDlg.Filter="Графические файлы(*.gif;*.wmf) | *.gif;*.wmf"
CmdFileName = FCmdFileName(CmnDlg)
If CmdFileName <> Empty Then
Pict.Picture = LoadPicture(CmdFileName)
End If
Timer1.Enabled = True
End Sub
Меняем рисунки местами
Private Sub Timer1_Timer()
Set TmpPicture = Picture1.Picture 'или =Picture1.Image
Picture1.Picture = Image1.Picture 'а так нельзя Picture1.Image=
Image1.Picture = TmpPicture
End Sub
Загружаем новый рисунок
Private Sub Image1_Click()
Call LoadGrFile(Image1, CommonDialog1)
End Sub
Загружаем новый рисунок
Private Sub Picture1_Click()
Call LoadGrFile(Picture1, CommonDialog1)
End Sub
Выгружаем из памяти объект для временного хранения изображения
Private Sub Form_Unload(Cancel As Integer)
Set TmpPicture = Nothing
End Sub