Visual Basic. Программирование на Visual Basic

..........................................................................................................................

[ Главная ] [ Статьи ] [ Для новичков ] [ Примеры ] [ Программы ] [ Microsoft Agent 2.0 ] [ Пособие ] [ Уроки ] [ Разное ]
..........................................................................................................................


Работа с элементом управления CommonDialog - Введение

Элемент управления CommonDialog позволяет разработчикам приложений максимально приблизить разработку интерфейса своей программы к стилю применяемого в Windows.

Так, как мне часто приходилось сталкиваться с проблемой связанной с применением и работой элемента управления CommonDialog и в последнее время получал ряд писем с вопросами о его применении, то решил поделиться со всеми тем, что знаю. Применение каждого окна диалога постараюсь дать отдельными обзорами.

Прежде чем начать работу выберите в меню Project | Components управляющий элемент Microsoft Common Dialog Control 6.0 . В панели инструментов у вас появится иконка эл. управления CommonDialog .



Разместив на своей форме эл. управления CommonDialog, Вы получаете 

возможность вызова таких окон, как:                        



                        1.Окно диалога Open; 



                        2.Окно диалога Save As; 



                        3.Окно диалога Color; 



                        4.Окно диалога Font; 



                        5.Окно диалога Print; 



                        6.Запуск WinHelp32.exe; 



Выбор того или иного типа окна диалога происходит посредством установки свойства

 Action в соответствующее значение или же применением соответствующего метода. 



 

Работа с элементом управления CommonDialog - Окно диалога Open

Для вызова окна диалога Open неоходимо свойство CommonDialog1.Action установить в 1 или же применить метод ShowOpen. Но, прежде чем перед Вами появится полноценное Windows-кое окно Open, необходимо назначить ряд свойств. 1.Установить начальную директорию, которая будет открываться при вызове CommonDialog1-а. CommonDialog1.InitDir = "C:\My Documents" Если не установливать этого свойства, то по умолчанию будет открываться директория, которую Вы использовали последний раз. 2.Установить тип файлов, которые будет отображать диалог Open. Для этого объявляем строковую переменную strFileType и присваиваем ей необходимые значения. Dim strFileType As String strFileType = "All Files (*.*)|*.*|" strFileType = StrFileType & " Word Documents ( *.doc )|*.doc |" strFileType = StrFileType & " Text Files (*.txt)|*.txt|" Затем свойству Filter, CommonDialog, присваиваем значение переменной strFileType. CommonDialog1.Filter = strFileType Примечание. Не включайте пробелы до и после разделителей, иначе Вы получите не те файлы, которые указали. Устанавливаем фильтр по умолчанию, выбрав для этого значение Word Documents. CommonDialog1.FilterIndex = 2 При открытии окна диалога Open в текстовом окне "Files of type", у Вас отобразится надпись Word Documents ( *.doc ). 3. И наконец, отображаем окно диалога Open. CommonDialog1.Action = 1 или же CommonDialog1.ShowOpen Естественно, раз Вы вызвали окно диалога Open, то его надо использовать по назначению, т.е. выбрать необходимый файл и открыть его. Выбор файла производится так, как и в Windows – e, но для продолжения работы необходимо передать в программу путь и имя выбранного Вами файла. Для этой цели существуют два свойства CommonDialog1 – а : CommonDialog1.FileTitle – возвращает имя выбранного файла с раширением (например. "Hello.doc"); CommonDialog1.FileName – возвращает путь к выбранному файлу (например. "C:\My Documents\Hello.doc"); Зная эти данные Вы можете производить соответствующие операции над выбранными файлами. Теперь необходимо оградить программу от непредусмотренных действий пользователя. Что может сделать пользователь ? 1.Ввести несуществующий файл или какие либо символы и нажать на клавишу Open; 2.Не выбрав ни одного файла нажать на клавишу Open; Для предупреждения подобных действий свойству Flags присваиваем необходимую константу. cdlOFNFileMustExist - Определяет, что пользователь может вводить имена только существующих файлов, если флаг установлен и пользователь вводит недопустимое имя файла, отображается предупреждение. Этот флаг автоматически устанавливает флаг cdlOFNPathMustExist. Внимание. На окне диалога Open находится флажек для включения опции "Open as read only". Рассматривать работу с этим флажком мы не будем, по этому добавим еще одну константу, которая уберет его с панели окна диалога. cdlOFNHideReadOnly - Делает невидимым переключатель Read Only. И теперь свойство Flags будет выглядеть следующим образом. CommonDialog1.Flags = CdlOFNFileMustExist or CdlOFNHideReadOnly 3.Не выбрав ни одного файла нажать на клавишу Cancel; 4.Выбрать файл и нажать на клавишу Cancel; Что бы предотвратить появления ошибки, при этих действиях пользователя, дополняем вышеприведенный код обработчиком ошибки. Необходимо заметить, что ошибку должно генерировать само окно диалога, для этого, свойство CommonDialog1.CancelError установите в True. Тепрь при нажатии на клавишу Cancel будет генерироваться ошибка 32755 – Cancel was selected (Выбрана Отмена). CommonDialog1.CancelError = True Теперь скомпануем все вышеописанное в упорядоченный код: Private Sub mnuOpen_Click() 'Объявляем строковую переменную для назначения типов файлов Dim strFileType As String 'Если возникнет ошибка, т.е пользователь нажел на клавишу Cancel, ‘отправиться к обработчику ошибки - ErrorHandler On Error GoTo ErrorHandler 'Обеспечиваем генерацию ощибки CommonDialog1.CancelError = True 'Инициализируем строковую переменную strFileType strFileType = "All Files (*.*)|*.*|" strFileType = StrFileType & " Word Documents ( *.doc )| *.doc |" strFileType = StrFileType & " Text Files (*.txt)|*.txt|" 'Присваиваем ее свойству Filter CommonDialog1.Filter = strFileType 'Устанавливаем необходимый индекс CommonDialog1.FilterIndex = 2 'Присваиваем начальную директорию своству InitDir CommonDialog1.InitDir = "D:\DOCUMENTS" 'Обеспечиваем защиту от неправильного введенного файла или дериктории, а так же скрываем флажек Read Only CommonDialog1.Flags = cdlOFNFileMustExist or cdlOFNHideReadOnly 'Вызываем диалог Open CommonDialog1.Action = 1 'Или же CommonDialog1.ShowOpen '********************************************************************* 'Здесь распологается Ваш код.(не забудте, что путь к выбранному файлу Вы считываете из свойства FileName) '********************************************************************* Exit Sub 'Обработка перехватываемой ощибки ErrorHandler: If Err.Number = 32755 Then Exit Sub End If End Sub

Теперь диалог Open полностью готов к работе.

Если Вы желаете поэксперементировать с окном диалога Open, то ниже приводятся константы, котрые можно присваивать свойству Flags.


..........................................................................................................................

[ Главная ] [ Диски ] [ Книги ] [ Архив рассылки ] [ Архив новостей ] [ Готовые кусочки программ ] [ Карта сайта ]
..........................................................................................................................

По страницам сайта Visaul Progs
или Изучение Visual Basic
Рассылка 'По страницам сайта Visaul Progs' >>> Подпишись на рассылку - будешь получать новые статьи , примеры и много полезной информации из первых рук!!! >>>Если у вас есть статья которой нет на сайте
пришлите ее мне-------->
Послать статью
>>>Если вы хотите задать вопрос
пишите-------->
Мне нужна помощь


Рейтинг сайтов YandeG Rambler's Top100
Реклама:

...:::Design by Mystf0rse 2005-2010 year:::...