Использование элемента управления CommonDialog
Элемент управления CommonDialog предоставляет набор стандартных диалоговых окон для таких операций, как открытие и сохранение файлов, настройка параметров печати и выбор цветов и шрифтов. Элемент управления также может отображать справку, когда работает механизм справки Windows.
Элемент управления CommonDialog обеспечивает интерфейс между Visual Basic и подпрограммой библиотеки динамической компоновки Microsoft Windows Commdlg.dll. Чтобы создать диалоговое окно с этим элементом управления, Commdlg.dll должен находиться в каталоге MicrosoftWindows/System.
Чтобы использовать элемент управления CommonDialog в своем приложении, вам следует добавить его в форму и установить его свойства. Диалог, отображаемый элементом управления, определяется методами элемента управления. Во время выполнения диалоговое окно или справочная система будут отображаться после вызова соответствующего метода во время проектирования, элемент управления CommonDialog будет отображаться в виде значка в форме. Размер этого значка нельзя изменить.
Элемент управления CommonDialog может отображать следующие общие диалоговые окна:
"Открыть"
«Сохранить как»
"цвет"
"Шрифт"
«Печать»
Использование элемента управления CommonDialog
1. Если элемент управления CommonDialog не добавлен, вам следует выбрать «Компоненты» в меню «Проект» и добавить элемент управления на панель инструментов. Найдите и выберите элемент управления в «Элементах управления» диалога маркировки, а затем нажмите кнопку «ОК».
2. Щелкните элемент управления «CommonDialog» на панели инструментов и нарисуйте его в форме. Когда вы рисуете элемент управления CommonDialog в форме, размер элемента управления автоматически изменяется. Как и элемент управления Timer, элемент управления CommonDialog не отображается во время выполнения.
3. При запуске используйте методы, перечисленные в следующей таблице, для отображения необходимого диалогового окна.
Отображение диалоговых окон «Открыть» и «Сохранить как»
Диалоговое окно «Открыть» позволяет указать диск, каталог, расширение и имя файла. Диалоговое окно «Сохранить как» по внешнему виду идентично диалоговому окну «Открыть», за исключением того, что заголовок диалогового окна и имя файла затемнены. После выбора файла и закрытия диалогового окна во время выполнения вы можете использовать свойство FileName, чтобы получить выбранное имя файла.
Чтобы отобразить диалоговое окно «Открыть»
1. Укажите список фильтров файлов, отображаемых в списке Типы файлов.
Свойство Filter можно задать в следующем формате:
описание1|фильтр1|описание2|фильтр2...
Описание — это строка, отображаемая в списке, например TextFiles(*.txt). Фильтр — это настоящий фильтр файлов, например *.txt. Каждая настройка описания|фильтра должна быть разделена символом вертикальной черты (|).
2. Используйте метод ShowOpen для отображения диалогового окна.
После выбора файла вы можете использовать свойство FileName, чтобы получить имя выбранного файла.
Для всех общедоступных диалоговых окон генерируется ошибка, когда свойство CancelError имеет значение True и пользователь нажимает кнопку «Отмена» диалогового окна. Отловить ошибку при отображении диалогового окна, чтобы определить, была ли нажата кнопка «Отмена».
Следующий код отображает диалоговое окно «Открыть» и открывает параметры файловой процедуры с выбранным именем файла:
PRivateSubmnuFileOpen_Click()
'CancelError имеет значение True.
Онеррорготоеррхандлер
'Установить фильтр.
CommonDialog1.Filter=AllFiles(*.*)|*.*|Text_
Файлы(*.txt)|*.txt|BatchFiles(*.bat)|*.bat
'Укажите фильтр по умолчанию.
CommonDialog1.FilterIndex=2
'Отображение диалогового окна открытия.
CommonDialog1.ShowOpen
'Вызовите процедуру, чтобы открыть файл.
OpenFile(CommonDialog1.FileName)
ВыходSub
ЭррХандлер:
'Пользователь нажимает кнопку «Отмена».
ВыходSub
EndSub
Использование диалогового окна «Цвет»
Используйте диалоговое окно «Цвет», чтобы выбрать цвет из цветовой палитры или создать и выбрать собственный цвет. Во время выполнения свойство Color можно использовать для получения выбранного цвета после выбора цвета и закрытия диалогового окна.
Отображение диалогового окна «Цвет»
1. Установите для свойства Flags элемента управления CommonDialog константу VisualBasic cdlCCRGBInit.
2. Используйте метод ShowColor, чтобы отобразить диалоговое окно.
Вы можете использовать свойство Color, чтобы получить значение RGB выбранного цвета. Следующий код отображает диалоговое окно «Цвет» при нажатии командной кнопки Command1:
PrivateSubCommand1_Click()
'Установите для параметра «Отмена» значение «Истина».
CommonDialog1.CancelError=Истина
Онеррорготоеррхандлер
'Установим свойство Flags.
CommonDialog1.Flags=cdlCCRGBInit
'Отображение диалогового окна «Цвет».
CommonDialog1.ShowColor
'Устанавливает цвет фона формы на выбранный' цвет.
Form1.BackColor=CommonDialog1.Color
ВыходSub
ЭррХандлер:
'Пользователь нажал кнопку «Отмена».
ВыходSub
EndSub
Использование диалогового окна «Шрифт»
Диалоговое окно «Шрифт» выбирает шрифты по размеру, цвету и стилю. Когда пользователь выбирает шрифт в диалоговом окне «Шрифт», следующие свойства содержат информацию о параметрах пользователя.
Чтобы отобразить диалоговое окно «Шрифт»
1. Задайте для свойства Flags одну из следующих констант Visual Basic:
cdlCFScreenFonts (экранные шрифты)
cdlCFPrinterFonts (шрифты принтера)
cdlCFBoth (может быть экранным шрифтом или шрифтом принтера)
Предупреждение. Перед отображением диалогового окна «Шрифт» необходимо установить для свойства Flags одно из этих значений, иначе возникнет ошибка «Шрифт отсутствует».
2. Используйте метод ShowFont для отображения диалогового окна.
Следующий код устанавливает свойства шрифта текстового поля на основе выбора пользователя в диалоговом окне «Шрифт»:
PrivateSubCommand1_Click()
'Установите для параметра «Отмена» значение «Истина».
CommonDialog1.CancelError=Истина
Онеррорготоеррхандлер
'Установим свойство Flags.
CommonDialog1.Flags=cdlCFBothOrcdlCFEffects
'Отображение диалогового окна «Шрифт».
CommonDialog1.ShowFont
'Устанавливаем свойства текста на основе выбора пользователя.
Text1.Font.Name=CommonDialog1.FontName
Text1.Font.Size=CommonDialog1.FontSize
Text1.Font.Bold=CommonDialog1.FontBold
Text1.Font.Italic=CommonDialog1.FontItalic
Text1.Font.Underline=CommonDialog1.FontUnderline
Text1.FontStrikethru=CommonDialog1.FontStrikethru
Text1.ForeColor=CommonDialog1.Color
ВыходSub
ЭррХандлер:
'Пользователь нажал кнопку «Отмена».
ВыходSub
EndSub
->