Программа “Просмотр
рисунков” предназначена для просматривания графических изображений форматов BMP,
DIB, JPG, GIF(не анимированных), ICO, CUR, WMF, EMF. Выбор рисунка будет осуществляться
с помощью листа с именами файлов этих типов. При просмотре изображение будет растягиваться
или сжиматься до размеров поля просмотра.
Итак, начнем…
Шаг
№1. Визуальная реализация программы.
Поместите на форму следующие
элементы с данными свойствами:
Форма
Name = frmViewer
BorderStyle
= Fixed Single
MinButton = True
Caption = “Просмотр рисунков”
ImageBox.
Name
= imgImage
BorderStyle = Fixed Single
Stretch = True
DriveListBox.
Name
= lstDrive
DirListBox.
Name = lstDir
FileListBox.
Name = lstFile
Pattern = *.bmp;*.dib;*.gif;*.jpg;*.ico;*.cur;*.wmf;*.emf
Ну вот. Все. Ваша форма должна выглядеть примерно вот так:

Теперь немного объясню. В свойствах элемента Image Вы указали Stretch = True. Этим Вы сказали, что Image будет подгонять рисунок под границы поля. Если сможете, сделайте так, чтобы можно было просматривать рисунок в отдельном окне в полный рост. В свойствах элемента FileListBox Вы указали Pattern = *.bmp;*.dib;*.gif;*.jpg;*.ico;*.cur;*.wmf;*.emf. Так Вы указали, какие типы файлов будут отображаться в этом листе. Внимание! Типы файлов записываются через точку с запятой и БЕЗ пробела!
Шаг
№2. Написание программного кода
Напишем программный код для
этой программы. Я не буду слово в слово пояснять смысл. Просто дам программный
код, а потом объясню самые сложные места.
Итак вуаля:
Private
Sub Form_Load() - Делаем так, чтобы при загрузке формы
‘устанавливалась маска для
листа с файлами
lstFile.Pattern = "*.BMP;*.DIB;*.GIF;*.jpg;*.ico;*.cur;*.wmf;*.emf"
End
Sub
Private Sub lstDir_Change()
‘Путь
листа с файлами равен пути
‘листа с директориями
lstFile.Path = lstDir.Path
End
Sub
Private Sub lstDrive_Change()
‘Диск
листа с директориями равен диску
‘листа с дисками
lstDir.Path = lstDrive.Drive
End
Sub
Private Sub lstFile_Click()
'b = Пути к файлам
b = lstDir.Path
‘Если путь заканчивается слэшем тогда
If
Right(b, 1) = "\" Then
a = lstDir.Path + lstFile.filename
‘А
если нет тогда
Else
a = lstDir.Path + "\" + lstFile.filename
End If
‘Загружаем
картинку из файла с
‘путем “a”
imgImage = LoadPicture(a)
End Sub
Private Sub lstFile_KeyPress(KeyAscii
As Integer)
‘То же самое для нажатия клавиатуры
b = lstDir.Path
If
Right(b, 1) = "\" Then
a = lstDir.Path + lstFile.filename
Else
a = lstDir.Path
+ "\" + lstFile.filename
End If
imgImage = LoadPicture(a)
End Sub
Я не буду объяснять весь
код, лишь самые непонятные части.
Свойство Pattern y lstFile мы меняли, чтобы
были видны только файлы с графическими изображениями.
Так, как часто Вы пользуетесь
клавиатурой для выбора файла, то мы поместили одинаковый программный код в два
события листа с файлами: для нажатия мыши и для нажатий клавиатуры. Этот код можно
было записать только однажды, используя вызов процедуры, но о процедурах будет
рассказано позже.
Оператор Right мы использовали для определения правого символа
пути к директории с изображениями. В скобках сначала стоит переменная, содержащая
текст, а за ней стоит число, указывающее количество проверяемых символов. Так,
если переменная содержит такой текст:
Test “Right”
То оператор
Right(переменная,
7)
Возвратит Вам слово “Right”.
Мы использовали такую процедуру потому,
что если Ваш путь - корневой каталог, то последний символ его будет слэш (C:\).
А если не корневой каталог, то слэша не будет и может возникнуть ошибка (C:\DOS).
Поэтому важно присоединять слэш к пути, если его там нет.
Оператор LoadPicture(путь)
загружает картинку в элемент Image или Picture. Внимание! Ошибочно думать, что
загрузить картинку можно подобным образом:
Image1.Picture = C:\Windows\Колечки.bmp
Так
ничего не получится.
На этом создание программы подходит к концу. Вы можете
ее усовершенствовать: добавить лейбл, в котором будет отображаться путь к файлу;
добавить панель “О программе…”, в которой будет написано, что Вы создали эту программу;
можете дополнить программу MDI-формой, чтобы открывать рисунок во весь экран.
Много чего можно сделать с этой программой.
|
||