Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Элемент управления 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




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 648; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.