Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Показать файлы в директории как картинки |
Автор: Aleksandor 21.9.2006, 20:32 |
В окне моей программы необходимо показать все файлы конкретной директории в виде thumbnails (как в ACDSee и других image browsers). Подскажите пожалуйста алгоритм оптимальный с точки зрения быстродействия (нужна совместимость с виндой 98 (!) Мне в голову не приходит ничего лучше как в отдельном потоке открывать файл за файлом, с помощью StretchDIBits рисовать в контексте памяти (какой кстати максимальный размер canvas'a в 98 винде?), затем выводить на экран часть канваса. Может есть идеи получше? |
Автор: Antropoid 21.9.2006, 21:27 |
Если я правильно понял глубину вопроса, то тогда легко можно использовать List Control cо стилем View. |
Автор: Earnest 22.9.2006, 07:28 |
Antropoid, проблема, видимо не в том, как показать, а как получить картинки... Но в принципе прав, использовать List View удобнее... Aleksandor, нормальный способ, только создавай отдельные битмапы для каждого файла (а не один большой). Если будешь использовать ListView, то одного битмапа хватит: после чтения его содержимое заливаешь в ImageList от ListView, и используешь для чтения нового... |
Автор: Aleksandor 22.9.2006, 21:13 |
В нормальнои ListView контроле есть 4 стиля - report view, list view, small icons, large icons. А как добавить thumbnails? GDI+ наверное не подходит так как нужна совместимость с ранней виндой. Писать самому? |
Автор: Earnest 25.9.2006, 07:43 |
thumbnails это стиль не ListView, а эксплорера. Есть стандартное окно в API для выбора файлов: OpenFile. Со стилем эксплорер оно все умеет. |