Как я могу получить описание расширения файла через CFileDialog - PullRequest
2 голосов
/ 28 июля 2010
CFileDialog fileDialog( 
    FALSE,                          // We are save as file dialog. 
    _T("*.txt"),                    // Default save as text format.
    _T("hello"),
    OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
    _T("Text Files (*.*)|*.txt|Excel Files (*.xls)|*.xls|Excel Details Files|(*.xls)||"), 
    this);

// Returns me "xls".
const CString fileExtension = fileDialog.GetFileExt();
// Returns me "Excel Files" or "Excel Details Files"
???

Как мне получить описание расширения файла?

1 Ответ

1 голос
/ 28 июля 2010

Вы пытаетесь получить описание, которое вы отправили в API самостоятельно ...?Вы можете извлечь его из внутренней структуры OPENFILENAME, используя член CFileDialog :: GetOFN, и посмотреть на член структуры lpstrFilter, но вам придется анализировать строку самостоятельно.

Но API SHGetFileInfo долженполучить зарегистрированное описание типа файла для операционной системы.Передайте ему «* .xls» (или любое другое расширение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...