Приветствую вас, Господа и Дамы (особенно kirin-у, а то других дам так сразу и не припомню).
Теперь собственно вопрос. Хочу получить иконку асоциирумую с типом файла. Пользуюсь ExtractAssociatedIcon. Это хорошо! Функция возвращает хэндл иконки размером 32x32. Это тоже хорошо, но не всегда. Особенно когда хочется вывести иконку размером 16x16. Для этого я пользуюсь DrawIconEx. Это хорошо! Плохо то, что иконки какие-то корявые получаются. Что сделать чтобы стало хорошо? Проводник ведь могет...
Заранее благодарю.
Я несколько в недоумении. Если написать
TIcon *Icon = new TIcon();
WORD index=0;
int n=0;
Icon->Width = 32;
Icon->Height = 32;
Icon->Handle = ExtractAssociatedIcon(NULL, sr.Name.c_str(), &index);
ImageList1->AddIcon(Icon);
ListItem = ListView->Items->Add();
ListItem->ImageIndex = n++;
то выглядит все как я и хотел, тоесть хорошо. Но почему же если ручками DrawIconEx, то не хорошо (как-то смазано)?
Здравствуйте Alex Fedotov, Вы писали:
AF>Попробуй SHGetFileInfo с флагами SHGFI_ICON|SHGFI_SMALLICON.
Пасибочки!!! Теперь работает так, как я хотел.