Студопедия

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

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

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






Инициализация




// Класс представлен одним конструкторомCFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL); // Параметры: // если параметр bOpenFileDialog истина, то создается Open Dialog, // иначе - Save Dialog. // lpszDefExt - строка или указатель на буфер, который содержит// расширение имени файла, используемое по умолчанию. Эта строка // добавляется к имени выбранного файла, если расширение не было// указано пользователем. Она может иметь произвольную длину, но не// должна содержать точек.Предупреждение: если вы вводите после имени файла " левое" расширение, то есть расширение, которое не зарегистрировано в операционной системе, и у вас установленорасширение по умолчанию, то оно также добавится к вашему файлу.Например, по умолчанию txt, а вы вводите a.bbb - получится a.bbb.txt// lpszFileName - строка или указатель на буфер, который содержит// имя файла, используемое по умолчанию. // dwFlags - комбинация из одного или нескольких флагов, объединенных// с помощью операции побитового " или" (|), позволяющих настроить// внешний вид диалога.// Флаги: // OFN_ALLOWMULTISELECT - разрешает выбор нескольких файлов одновременно. // OFN_CREATEPROMPT - если пользователь определяет несуществующий файл, // то выводится блок диалога, в котором предгается создать файл. // OFN_EXPLORER - указывает, что при создании блоков диалога используется// новый стиль EXPLORER. Этот стиль используется независимо от того// установлен он или нет. // OFN_EXTENSIONDIFFERENT - устанавливается после возвращения из функции// и указывает, что расширение выбранного файла отличается от того, // которое было ранее определено в поле lpszDefExt. Этот флаг не// устанавливается, если в поле lpszDefExt был установлен NULL или файл// не имеет расширения. // OFN_FILEMUSTEXIST - определяет, что в поле FileName пользователь// может вводить только имена существующих файлов. В противном случае// на экран выводится предупреждающее сообщение. Если этот флаг// определен, то автоматически устанавливается флаг OFN_PATHMUSTEXIST. // OFN_HIDEREADONLY - предписывает убрать из блока диалога флажок// только чтение (Read Only). // OFN_NOCHANGEDIR - устанавливает первоначальный текущий каталог, если// пользователь изменил его при поиске файлов. // OFN_NODEREFERENCELINKS - предписывает блоку диалога возвратить имя и// путь выбранного сокращения (shortcut) - файла с расширением LNK.// В противном случае блок диалога возвращает путь и имя файла, на // который ссылается сокращатель. // OFN_NONETWORKBUTTON - скрывает и блокирует кнопку Network (сеть). // OFN_NOREADONLYRETURN - определяет, что выбранный файл не имеет // атрибута " только чтение" и не располагается в защищенном от записи// каталоге. // OFN_NOTESTFILECREATE - определяет, что файл не создается перед// закрытием блока диалога, а также отсутствие проверки на защиту от// записи, переполнение диска и сетевую защиту. // OFN_NOVALIDATE - определяет, что стандартные блоки диалога допускают// наличие неразрешенных символов в именах возвращаемых файлов. // OFN_OVERWRITEPROMPT - предписывает блоку диалога Save As (сохранение)// выводить окно запроса на перезапись, если выбранный файл уже// существует. // OFN_PATHMUSTEXIST - определяет, что пользователь может использовать// только имеющиеся пути и имена файлов. В противном случае на экран// выводится предупреждающее сообщение. // OFN_READONLY - при отображении блока диалога флажок Read Only (только// чтение) будет установлен, а при закрытии блока диалога указывает// состояние флажка. // OFN_SHOWHELP - предписывает блоку диалога отображать кнопку Help (?). // lpszFilter - строка или указатель на буфер, содержащий одну или// несколько пар текстовых строк, задающих фильтры для выбора имен файлов.// Первая строка в каждой паре описывает название фильтра (например, // " Исполняемые файлы"), а вторая - образец фильтра (например, // " *.exe; *.com; *.bat"). Если в единственной строке фильтра необходимо// указать несколько образцов, то они должны отделяться друг от друга// символом " |". Последняя строка должна заканчиваться двумя символами// " |", за которыми должен следовать нулевой символ. Порядок следования// пар строк в буфере (в строке) определяет порядок следования фильтров.// Если этот параметр равен NULL, то в блоке диалога не определен никакой// фильтр. // Дескриптор окна, владеющего блоком диалога или NULL.

Кроме того, в классе представлен объект Windows-структуры OPENFILENAME m_ofn. Эта структура инициализирует внешний вид File Open и File Save As диалогов после их создания, но перед отображением. Многие поля этой структуры уже рассмотрены при описании конструктора класса. Ниже приведены некоторые из тех полей, которых нельзя " достать" из конструктора.

LPCTSTR lpstrInitialDir; // указывает на строку, которая определяет начальный каталог. Чтобы начать// работу в текущем каталоге в это поле нужно записать NULL. LPCTSTR lpstrTitle; // указывает на строку, которая определяет заголовок блока диалога. Если// это поле содержит NULL, то будут использоваться стандартные заголовки// Open (открытие файла) и Save As (сохранение).

Пример использования:

//... CFileDialog fOpen(true); fOpen.m_ofn.lpstrTitle = " Откройте меня!!! "; fOpen.DoModal(); //...

Данная страница нарушает авторские права?





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