Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Можно ли отключить отображение библиотек в стандартных диалогах открытия/сохранения файлов?
Совсем отключить отображение библиотек нельзя. Тем не менее, это не будет проблемой при использовании диалога сохранения файлов. Дело в том, что если не указывать в какую из папок библиотеки сохраняется файл, он попадает в папку, помеченную как место сохранения файлов по умолчанию — Default save location.

Тем не менее, еще раз хочу обратить внимание на необходимость использования метода IFileDialog::GetResult и последующей работы с интерфейсом IShellItem во всех случаях при работе с файловыми диалогами. Только данный метод гарантирует получение пути до выбранного файла или папки в случае работы с библиотеками. Фрагмент кода ниже сохраняет полный путь до выбранного объекта в переменную LPWSTR resultFilePath.
#include <comdef.h>
#include <shlobj.h>
_COM_SMARTPTR_TYPEDEF (IFileOpenDialog, __uuidof (IFileOpenDialog));
_COM_SMARTPTR_TYPEDEF (IShellItem, __uuidof (IShellItem));
IFileOpenDialogPtr fileOpenDialog (__uuidof (FileOpenDialog));
if (fileOpenDialog->Show(window) != HRESULT_FROM_WIN32 (ERROR_CANCELLED)) {
IShellItemPtr resultShellItem;
fileOpenDialog->GetResult (&resultShellItem);
LPWSTR resultFilePath = NULL;
resultShellItem->GetDisplayName (SIGDN_FILESYSPATH, &resultFilePath);
}
Каково будущее библиотеки WTL (Windows Template Library)?
Будущее данной библиотеки в руках сообщества разработчиков. Данная библиотека официально не поддерживается Microsoft, несмотря на то, что была изначально разработана у нас.
Последняя доступная на сегодня версия — WTL 8.0. Она распространяется на условиях Microsoft Permissive License. Эта версия поддерживает новые элементы пользовательского интерфейса Windows Vista — подробнее читайте в статье Кенни Кера (по-русски).
Полезные ресурсы по WTL:
- сайт проекта на SourceForge.net;
- неофициальный форум поддержки (вполне жизнеспособный);
- материал из Википедии по-русски и по-английски.
Поддерживает ли новая технология вывода текста DirectWrite вертикальное направление письма?
Вертикальное направление, используемое, например, традиционным китайским и японским письмом, к сожалению, DirectWrite не поддерживает (по состоянию в Windows 7 Beta). Направление письма задается значением перечисления DWRITE_READING_DIRECTION в вызове метода IDWriteTextFormat::SetReadingDirection. В данный момент в документации описаны только два значения:
- DWRITE_READING_DIRECTION_LEFT_TO_RIGHT
- DWRITE_READING_DIRECTION_RIGHT_TO_LEFT
ГБ