Імена файлів і каталогів

Відомості в цьому розділі застосовується до Explorer стиль і старого стилю Відкрити і Зберегти як діалогових вікон.

Перед викликом функції GetOpenFileName або GetSaveFileName , член lpstrFile OPENFILENAME структура має вказувати буфер отримувати ім'я файлу. Член nMaxFile слід указати розмір у байтах (Версія ANSI) або 16-бітних символів (Unicode версії), lpstrFile буфера.

Якщо користувач визначає ім'я файлу і натискає кнопку "OK" , діалоговому вікні Копіювання вибраного диска, каталогів та ім'я файлу в буфер lpstrFile . Функція також встановлює членів nFileOffset і nFileExtension для скорочення викидів в байт (Версія ANSI) або 16-бітних символів (Unicode версії), з самого початку буфера, ім'я файлу та розширення файлу, відповідно.

Просто отримати ім'я файлу та розширення, встановити команду в буфер і встановити розмір у байтах (Версія ANSI) або 16-бітних символів (Unicode версії), член nMaxFileTitle , член lpstrFileTitle буфера. Крім того, ви можете передати lpstrFile буфера в виклику функції GetFileTitle отримати коротке ім'я вибраного файлу. Однак слід зазначити, що ім'я файлу, який GetFileTitle повертає включає розширення тільки, якщо це уподобання користувача для відображення імен файлів.

Діалогове вікно використовує поточний каталог для виклику процесу як початковий каталог, з якого для відображення файлів і каталогів. Використання на GetCurrentDirectory або SetCurrentDirectory функції, щоб отримати або змінити поточний каталог. Щоб вказати директорію початок, не змінюючи поточний каталог, за допомогою lpstrInitialDir член вкажіть ім'я каталогу. Діалоговому вікні автоматично змінює поточний каталог, у разі вибору іншого диска або каталогу. Щоб діалогове вікно Змінення поточного каталогу, встановити прапор OFN_NOCHANGEDIR. Цей прапор не заважає користувачеві змінювати каталоги для пошуку файлу.

Щоб вказати розширення імені файлу за замовчуванням, використовувати членів lpstrDefExt . Якщо користувач визначає ім'я файлу, який не має розширення, діалогове вікно Додавання вашого розширення за замовчуванням. Якщо вказати розширення за замовчуванням, а користувач визначає ім'я файлу з іншим розширенням, діалоговому вікні набори в OFN_EXTENSIONDIFFERENT прапор.

Дозволяє користувачу вибрати більше одного файлу з каталогу, встановити прапор OFN_ALLOWMULTISELECT. Для сумісності з старих додатків, за замовчуванням кілька діалогове вікно Вибір використовує інтерфейс користувача старого стилю. До Explorer стиль відображення декількох діалогове вікно Вибір, ви повинні встановити прапор OFN_EXPLORER.

Якщо користувач вибирає кілька файлів, буфер, вказав на lpstrFile член повертає шлях поточного каталогу слідує з назви файла вибраних файлів. Член nFileOffset є зсув на перший-ім'я файлу, і nFileExtension член не використовується. У нижченаведеній таблиці описано різницю між Explorer стиль і старого стилю діалогових вікон у поверненні декілька імен файлів.

Діалоговому вікні стиль Опис
Діалогові вікна Explorer стиль Каталог та ім'я файлу рядки є NULL, розділені, з додаткових символів NULL після останнього ім'я файлу. Цей формат дає Explorer стилі діалогів повернутися довгих імен файлів, які містять пробіли.
Діалогові вікна старого стилю Каталог та ім'я файлу рядки відокремлені пробілами. Для імен файлів із пробілами використовуються короткі імена файлів.

Ви можете використовувати в FindFirstFile функції для перетворення між короткі та довгі імена файлів.

Index