Unicode CFileDialog in MBCS project
От: Andrew_RQL Украина  
Дата: 16.03.06 08:59
Оценка:
Доброго времени суток,
В кратце изложу проблему.

Есть БОЛЬШОЙ проект, который собирается под MBCS кодировку (и этот факт не обсуждается).
В проекте необходимо вызвать стандартный диалог выбора файла, инкапсулированного в сабжевый
класс. Одно "но" — необходимо иметь возможность выбирать файлы с Юникодными именами (т.е. к
примеру с использованием иероглифов!). Возникает незадачка — класс при компиляции под MBCS
использует структуру OPENFILENAMEA, а надо OPENFILENAMEW.
Конечно, можно было бы использовать Вин32Апи ::GetOpenFileNameW, но основная проблема в том,
что у меня стандартный файловый диалог разширяется ещё одним, а в этом случае надо писать
хук-процедуру и вручную отрабатывать все сообщения.... , как оказалось, это далеко не просто.
Пробовал вынести обвёртку для стандартного класса в ДЛЛ, скомпилить под Уникод (подправив заголовки
сразу, как надо), но тут неудача — конструктор базового класса (CFileDialog) при вызове
AfxGetResourceHandle() сваливается по исключению.

Прошу помощи!
RTFM :)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.