Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.24;
Скачать: CL | DM;

Вниз

Помогите разобраться с hIcon и tBitmap!!!   Найти похожие ветки 

 
den303 ©   (2003-04-12 00:54) [0]

Привет всем! Заполняю TListBox именами файлов, а слева рисую связанные иконки.
Иконки извлекаю так:
var h:hicon;
h:=ExtractAssociatedIcon(HInstance,"путь к файлу","IconIndex");
А рисовать в TListBox можно только tBitmap. Как преобразовать hIcon в tBitmap?
PS: Пытался через TImage - появляются артефакты...


 
Johnmen ©   (2003-04-12 00:57) [1]

Ищи в факах - ответ стандартизован...


 
den303 ©   (2003-04-12 01:04) [2]

>Johnmen
Что-то не нашёл нигде...:-(
Не подскажешь?


 
Johnmen ©   (2003-04-12 01:23) [3]

Если не найдешь и если никто не подскажет, попробую поискать в своих архивах. Но не раньше понедельника...:)


 
Song ©   (2003-04-12 09:26) [4]

Не надо никуда преобразовать. Используй DrawIcon()


 
den303 ©   (2003-04-12 23:49) [5]

>Johnmen
Поищи пожалуйста!!! Я подожду хоть до среды ;-) Заранее спасибо! Если тебе удобней - можешь на мыло...

>Song
Артефакты появляются и иконка нещадно убожится


 
Song ©   (2003-04-13 11:22) [6]

Правильно, потому что иконка-то наверно 32х32?


 
den303 ©   (2003-04-13 13:30) [7]

>Song
Не знаю. Какую вытаскивает ExtractAssociatedIcon. Заодно не подскажешь, как КРАСИВО перевести 32x32 в 16x16?


 
Song ©   (2003-04-13 13:36) [8]

Я так и думал. ExtractAssociatedIcon() возвращает иконку 32х32. И при рисовании через DrawIcon() она рисуется большая, а через DrawIconEx() если масштабировать её на 16х16, она рисуется, как Вы сказали, с артефактами.
Решением здесь будет использовать ExtractIconEx()+реестр или ShGetFileInfo(), чтобы достать маленькую иконку и рисовать её через DrawIconEx(). Тогда никаких артефактов не будет. В базе готовых решений, по-моему, такая ф-ия была.



Страницы: 1 вся ветка

Текущий архив: 2003.04.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
14-77131
Карлсон
2003-04-07 20:10
2003.04.24
Смертная казнь - голосование.


3-76763
lightix
2003-04-04 10:01
2003.04.24
Как сделать Lookup поле с динамическим списком?


14-77158
ProfiUgl
2003-04-08 15:38
2003.04.24
Посоветуйте компоненту для создания ShareWare приложения


3-76852
VICTOR_
2003-04-08 12:24
2003.04.24
Как восстановить запись в таблице Paradox?


1-76874
Senator
2003-04-14 15:58
2003.04.24
MDI