Студопедия

Главная страница Случайная страница

Разделы сайта

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






Элемент управления 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 Dialog1 Метод
Открытие файла CommonDialog1.ShowOpen
Сохранение файла CommonDialog1.ShowSave
Выбор цвета CommonDialog1.ShowColor
Выбор шрифта CommonDialog1.ShowFont
Выбор принтера для печати CommonDialog1.ShowPrinter
Окно помощи Help CommonDialog1.ShowHelp

Пример открытия и сохранения файлов с помощью элемента 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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.