Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Элемент управления CommonDialog
До сих пор я знакомил вас с довольно простыми элементами управления, такими как кнопки, текстовые поля и т.п. Достаточно ли таких простых элементов, чтобы запрограммировать любые приложения Windows? В принципе, да. Возьмем, например, диалоговое окно сохранения файла. Оно похоже в большинстве приложений Windows.
Вы видите, что оно состоит из кнопок, флажка, раскрывающихся списков и других простых элементов, большинство из которых мы проходили. Все эти элементы собраны на форме с заголовком Save As. Таким образом, если мы захотим организовать сохранение файла, мы должны будем в проекте создать еще одну форму, которая и будет диалоговым окном (как создавать в проекте дополнительные формы, я расскажу в 19.1). Затем мы поместим на эту форму нужные элементы управления и запрограммируем работу каждого из них. В общем, работа довольно большая, но выполнимая. Разработчики Visual Basic постарались облегчить жизнь программистам и создали элемент управления CommonDialog, который уже имеет вид нужного диалогового окна. Простые элементы управления внутри диалогового окна уже запрограммированы надлежащим образом. Все, что остается программисту - это написать немного кода для настройки окна. Common Dialog - настоящий многоликий Янус. Он может по желанию программиста перестраиваться на выполнение самых разных задач, перечисленных в нижеприведенной таблице. То, какую именно задачу он будет решать, определяется тем, какой из методов этого элемента будет выполнен: Вставьте Common Dialog на панель Toolbox из Projects®Components. Там вы его найдете под именем Microsoft Common Dialog Control 6.0. Затем поместите его на форме. Его имя - Common Dialog1. В режиме работы он не виден и возникает в нужном обличье только при выполнении одного из своих методов:
Пример открытия и сохранения файлов с помощью элемента Common Dialog Чтобы лучше представить себе механику работы элемента Common Dialog, рассмотрим пример его использования для считывания и записи информации в произвольные текстовые файлы. Задача: Нажатием на кнопку Command1 поместить на экран диалоговое окно открытия файла, выбрать в нем произвольный текстовый файл, считать из него первую строку, затем при желании нажатием на кнопку Command2 преобразовать эту информацию (дописать в конец строки восклицательный знак), затем нажатием на кнопку Command3 поместить на экран диалоговое окно сохранения файла, выбрать в нем произвольный текстовый файл и информацию записать в него. Вот программа: Dim s As String 'Переменная для хранения считанной и преобразованной информации
Private Sub Command1_Click() CommonDialog1. ShowOpen 'Показать диалоговое окно открытия файла Файл = CommonDialog1. FileName 'Это имя файла выбрано из диалогового окна Open Файл For Input As #1 'Открываем выбранный файл для чтения Line Input #1, s 'Считывание первой строки из выбранного файла Debug.Print s Close #1 End Sub
Private Sub Command2_Click() s = s & "! " 'Преобразование информации - добавление в конец строки восклицательного знака End Sub
Private Sub Command3_Click() CommonDialog1. ShowSave 'Показать диалоговое окно сохранения файла Файл = CommonDialog1.FileName 'Это имя файла выбрано из диалогового окна Open Файл For Output As #1 'Открываем выбранный файл для записи Print #1, s 'Запись информации в выбранный файл Debug.Print s Close #1 End Sub Пояснения: На операторе CommonDialog1.ShowOpen появляется диалоговое окно открытия файла (аналогичное диалоговому окну сохранения файла, картинка которого показана выше), программа останавливается и ждет, когда мы выберем в окне какой-нибудь текстовый файл. После выбора окно пропадает, имя выбранного файла вместе с адресом становятся значением свойства FileName элемента CommonDialog, программа продолжает работу и это значение используется нами в операторе Open. Аналогично работает и сохранение. В приложениях Windows, таких как Word и Paint, мы привыкли, что открываемый файл становится нам виден в каком-нибудь окне. Здесь же ничего подобного нет, содержимого файла мы не видим. Для этого нужны дополнительные средства. На них мы не останавливаемся. В диалоговом окне правильно работают многие кнопки и другие элементы. Однако нам нужно позаботиться кое о каких подробностях. Так, если мы хотим видеть в окне только текстовые файлы, нам нужно запрограммировать раскрывающийся список типов файлов. В противном случае мы можем нечаянно открыть графический файл, как текстовый, с неожиданными результатами. Также нужно позаботиться о том, чтобы при нажатии на кнопку Cancel не возникала ошибка. А возникает она по той причине, что оператор Open не знает, какой файл ему открывать. На этом я останавливаться не буду.
Вот более " правильная" запись этой же программы, использующая процедуры с параметрами: Dim s As String 'Переменная для хранения считанной и преобразованной информации
Private Sub Command1_Click() CommonDialog1.ShowOpen 'Показать диалоговое окно открытия файла Файл = CommonDialog1.FileName 'Это имя файла - параметр для процедуры Открой Открой Файл End Sub
Private Sub Открой(Файл) Open Файл For Input As #1 Line Input #1, s 'Считывание первой строки из файла Debug.Print s Close #1 End Sub
Private Sub Command2_Click() s = s & "! " 'Преобразование информации - добавление в конец строки восклицательного знака End Sub
Private Sub Command3_Click() CommonDialog1.ShowSave 'Показать диалоговое окно сохранения файла Файл = CommonDialog1.FileName 'Это имя файла - параметр для процедуры Сохрани Сохрани Файл, s 'Сохрани в Файл строку s End Sub
Private Sub Сохрани(Файл, s As String) Open Файл For Output As #1 Print #1, s 'Запись информации в файл Debug.Print s Close #1 End Sub
|