|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Filenames and Directories
The information in this section applies to both Explorer-style and old-style Open and Save As dialog boxes.
Before calling the GetOpenFileName or GetSaveFileName functions, the lpstrFile member of the OPENFILENAME structure must point to the buffer to receive the filename. The nMaxFile member must specify the size, in bytes (ANSI version) or characters (Unicode version), of the lpstrFile buffer. If the user specifies a filename and clicks the OK button, the dialog box copies the selected drive, directory, and filename to the lpstrFile buffer. The function also sets the nFileOffset and nFileExtension members to the offsets, in bytes or characters, from the start of the buffer to the filename and to the filename extension, respectively.
To retrieve just the filename and extension, set the lpstrFileTitle member to point to a buffer and set the nMaxFileTitle member to the size, in bytes (ANSI version) or characters (Unicode version), of the buffer. Alternatively, you can pass the lpstrFile buffer in a call to the GetFileTitle function to get the display name of the selected file. Note, however, that the filename that GetFileTitle returns includes an extension only if that is the user's preference for displaying filenames.
The dialog box uses the current directory for the calling process as the initial directory from which to display files and directories. Use the GetCurrentDirectory or SetCurrentDirectory functions to get or change your current directory. To specify a different initial directory without changing your current directory, use the lpstrInitialDir member to specify the name of a directory. The dialog box automatically changes your current directory when the user selects a different drive or directory. To prevent the dialog box from changing your current directory, set the OFN_NOCHANGEDIR flag. This flag does not prevent the user from changing directories to find a file.
To specify a default filename extension, use the lpstrDefExt member. If the user specifies a filename that does not have an extension, the dialog box adds your default extension. If you specify a default extension and the user specifies a filename with a different extension, the dialog box sets the OFN_EXTENSIONDIFFERENT flag. To let the user select more than one file from a directory, set the OFN_ALLOWMULTISELECT flag. For compatibility with older applications, the default multiple selection dialog box uses the old-style user interface. To display an Explorer-style multiple selection dialog box, you must also set the OFN_EXPLORER flag.
If the user selects more than one file, the buffer pointed to by the lpstrFile member returns the path to the current directory followed by the filenames of the selected files. The nFileOffset member is the offset to the first filename, and the nFileExtension member is not used. The following table describes the difference between Explorer-style and old-style dialog boxes in returning multiple filenames.
Dialog box style Description Explorer-style dialog boxes The directory and filename strings are NULL separated, with an extra NULL character after the last filename. This format enables the Explorer-style dialogs to return long filenames that include spaces. Old-style dialog boxes The directory and filename strings are separated by spaces. For filenames with spaces, the function uses short filenames.
You can use the FindFirstFile function to convert between long and short filenames.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Filenames И Директории
Информация в этой секции относится как к стилю Explorer-так и старый-стиль Открытому и Сохраняемому Как диалоговые блоки.
Перед вызовом GetOpenFileName или функции GetSaveFileName, элемент lpstrFile структуры OPENFILENAME должен указать на буфер, чтобы получать filename. Элемент nMaxFile должен определить размер, в байтах (версия ANSI) или символы (версия Уникода), буфера lpstrFile. Если пользователь определяет filename и щелкает кнопку OK, диалоговые копии блока выбранный накопитель, директорий, и filename в буфер lpstrFile. Функция также устанавливает nFileOffset и участников nFileExtension смещений, в байтах или символах, от начала буфера до filename и в расширение filename, соответственно.
Для того, чтобы извлечь именно filename и расширение, установите элемент lpstrFileTitle, чтобы указывать на буфер и устанавливать элемент nMaxFileTitle в размер, в байтах (версия ANSI) или символы (версия Уникода), буфера. Кроме того, Вы можете передать буфер lpstrFile на вызов в функцию GetFileTitle, чтобы получать дисплейное имя выбранного файла. Примечание, тем не менее, что filename, что возврат GetFileTitle включает расширение только если это - предпочтение пользователя для отображения filenames.
Диалоговый блок использует текущий директорий для вызова процесса как начальный директорий из которого, чтобы отображать файлы и директории. Используйте GetCurrentDirectory или функции SetCurrentDirectory, чтобы получать или изменять ваш текущий директорий. Для того, чтобы определять другой начальный директорий не изменяя ваш текущий директорий, используйте элемент lpstrInitialDir, чтобы определять имя директория. Диалоговый блок автоматически изменяет ваш текущий директорий когда пользователь выбирается другого накопителя или директория. Для того, чтобы мешать диалогового блока чтобы изменять ваш текущий директорий, установите флаг OFN_NOCHANGEDIR. Этот флаг не мешает пользователя чтобы изменять директории, чтобы находить файл.
Для того, чтобы определять по умолчанию filename расширение, используйте элемент lpstrDefExt. Если пользователь определяет filename, что нет имеет расширение, диалоговый блок добавляет ваше по умолчанию расширение. Если Вы определяете по умолчанию расширение и пользователь определяет filename с другим расширением, диалоговый блок устанавливает флаг OFN_EXTENSIONDIFFERENT. Для того, чтобы позволять пользователя, выберитесь более, чем один файл из директория, установите флаг OFN_ALLOWMULTISELECT. Для совместимости с более старыми приложениями, по умолчанию диалоговый блок многочисленного выбора использует старый стиль пользавателя интерфейса. Чтобы отображать многочисленный выбор диалогового блока стиля Explorer-, Вы должны также установить флаг OFN_EXPLORER.
Если пользователь выбирается более, чем один файл, буфер указывался, чтобы возвратом элемента lpstrFile путь в текущий директорий сопровожденный filenames выбранных файлов. Элемент nFileOffset является смещением на первый filename, и элемент nFileExtension не использован. Следующая таблица описывает различию между стилем Explorer-и старые-диалоговые блоки стиля в обратном кратном filenames.
Описание стиля Диалогового блока Диалог стиля Explorer-боксирует директорий и filename строки НЕДЕЙСТВИТЕЛЬНЫ разделенные, с дополнительным НЕДЕЙСТВИТЕЛЬНЫМ символом после последний filename. Этот формат позволяет диалоги стиля Explorer-, чтобы возвращать длинные filenames, что включать пробелы. Старый стиль диалога боксирует директорий и filename строки разделены пробелами. Для filenames с пробелами, функция использует перемычку filenames.
Вы можете использовать функцию FindFirstFile, чтобы преобразовываться между длинной и перемычкой filenames.
|
|
|
|
| |