Главная страница
    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.45 MB
Время: 0.007 c
7-77201
sharik_212
2003-03-07 15:23
2003.04.24
Сколько видеопамяти? (на видеоплате)


3-76778
yurikon03
2003-04-04 09:30
2003.04.24
Как хранить суммы?


4-77219
Alex_Y
2003-02-25 18:50
2003.04.24
Память, занимаемая приложением


14-77148
just_me
2003-04-08 21:49
2003.04.24
tekstovoj redaktor


3-76806
Андрей Королёв
2003-04-05 18:27
2003.04.24
Как заставить InputQuery принимать INTEGER значения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский