Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Вниз

Извлечение иконки   Найти похожие ветки 

 
dimon_programmer ©   (2004-06-30 10:14) [0]

Здраствуйте мастера!
Подскажите как извлечь из ЛЮБОГО файла или папки иконку и добавать её в ImageList???


 
Iconka   (2004-06-30 13:04) [1]

А ты уверен что в ЛЮБОМ файле или папке содержится иконка?


 
wisekaa ©   (2004-06-30 13:12) [2]

Определись что ты хочешь?
1. В D7 есть пример resxplor - посмотри.
2. Примеры есть в кулибе.
3.
- Научиться создавать TIcon и читать в него иконку.
- Научиться добавлять этот объект в ImageList.


 
grom   (2004-07-01 09:18) [3]

Image1.picture.icon.Handle:=extractIcon(hInstance,PChar("C:\file.exe"),0);
ImageList1.add(Image1.Picture.Icon.Handle);
примерно так


 
begin...end ©   (2004-07-01 09:31) [4]


> dimon_programmer

var
 Icon: TIcon;
begin
 Icon := TIcon.Create;
 Icon.Handle := ExtractIcon(HInstance, "С:\MyFile.exe", 0);
 ImageListName.AddIcon(Icon);
 Icon.Free;
end;


P.S. Не проверял.


 
Afteam   (2004-07-06 09:20) [5]

to Begin...End:

Я проверял. Работать будет. Только иконку даст 32х32.


 
grom   (2004-07-06 17:49) [6]

a какую надо иконку 16х16?


 
Nomolos   (2004-07-06 19:54) [7]

Для получения иконки 16x16 нужно использовать ExtractIconEx (информация есть в Platform SDK), но существует масса проблем, связаных с её использованием. Если Вам необходимо создать что-то вроде эксплорера файлов, то легче сделать так:
- добавить на форму ImageList
- установить его свойство ShareImages в True
- добавить в uses библиотеку ShellAPI
- в обработку OnCreate добавить переменную Info типа TShFileInfo, а в код команду ImageList1.Handle := SHGetFileInfo("", 0, Info, SizeOf(TShFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
- При создании новой ячейки списка (например, в TreeView) выполнить
SHGetFileInfo(PChar(FilePath), 0, Info, SizeOf(TShFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
NewNode.ImageIndex := Info.iIcon;


NewNode.SelectedIndex := Info.iIcon;

В FilePath должно содержаться полное имя (с путём) файла. Если оно задаётся явно, то PChar() нужно убрать.



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

Форум: "WinAPI";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.043 c
4-1087932125
Ihor Osov'yak
2004-06-22 23:22
2004.08.15
Проблемы при перехвате IDispatch::Invoke


8-1085138881
Denis56
2004-05-21 15:28
2004.08.15
Как узнать цвет под мышкой?


14-1090951748
SuperHack
2004-07-27 22:09
2004.08.15
Sorry, а мне сказали ято можно bmp перевести в wav


3-1090502449
Draught
2004-07-22 17:20
2004.08.15
размер БД


14-1090926424
Knight
2004-07-27 15:07
2004.08.15
Компактный электронный справочник по инструкциям BASM...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский