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

Вниз

Как зная путь к .exe файлу узнать его картинку ?   Найти похожие ветки 

 
skovorodka ©   (2002-03-17 11:03) [0]

???


 
VID ©   (2002-03-17 12:25) [1]

Приведённая ниже функция добавляет в ImageList иконку файла, указанного по его полному имени.


//FileName - Имя файля, иконка которого должна быть добавлена в ImageList
// ImageList - объект-ImageList, в который должна быть добавлена иконка
//SMallIcon - если TRUE, то будет добавлена маленькая иконка, иначе - будет добавлена большая иконка
//ClearImageList - если TRUE, то сожержимое ImageList будет очищено перед добавлением новой иконки

function AddIcon(FileName:String; ImageList:TImageList; SmallIcon:Boolean; ClearImageList:Boolean):Boolean;
var
icon:TIcon;
Icon_Height, Icon_Width:Integer;
IconIndex : word;
begin

if (fileexists(filename) = false) and (directoryexists(filename)=false)then
begin
Result:=False;
ICON.FREE;
Exit;
end;

iconindex:=1;
icon:=ticon.create;
icon.Handle:=ExtractAssociatedIcon(HInstance,Pchar(FileNAme),iconindex);

if Icon.Handle = 0 then
begin
result:=false;
exit;
end;

If ClearImageList=true then imagelist.clear;

if SmallIcon = True then
begin
Icon_Width := 16;
Icon_Height := 16;
end
else
begin
Icon_Width := 32;
Icon_Height := 32;
end;

if ImageList.Width <> Icon_width then ImageList.Width := Icon_width;
if ImageList.Height <> Icon_Height then ImageList.Height := Icon_Height;
If ImageList.AddIcon (icon) <>-1 then Result := True else Result := False;
icon.free;
end;


 
Song ©   (2002-03-17 16:32) [2]

Да.... VID ты нагородил!!! :)))
Всего лишь Win API: ExtractAssociatedIcon


 
VID ©   (2002-03-17 17:44) [3]

TO Song: Ну так - то оно и есть... в корне функции ADDICON лежит EXTRACTASSOCIATEDICON. Просто я дал рабочую функцию, которая подходит для большинства случаев отображения множества файлов, в каком-либо объекте, с помощь ImageList. :)


 
Song ©   (2002-03-17 22:24) [4]

2VID, OK, рабочий код в двух строках:



Var IconIndex:Word;

....
IconIndex:=1;
DrawIcon(любой_канвас.Handle,x,y,ExtractAssociatedIcon(Handle,PChar("имя_файла"),IconIndex));



 
VID ©   (2002-03-17 22:34) [5]

TO SONG: Что ты пытаешься мне доказать ? :)
Таким методом, который привёл ты, вряд ли отобразшь что-нибудь в TLISTVIEW .


 
Song ©   (2002-03-17 22:44) [6]

2VID, а что у TListView нет канваса?


 
Shirson ©   (2002-03-18 10:50) [7]

Рисовать иконки на канве TListView, это все равно что клеить переводные картинки на экран телевизора :)


 
VID ©   (2002-03-18 11:42) [8]

Действительно, изврат :) давай уж сразу на машинные коды переходить :)



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

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

Наверх




Память: 0.48 MB
Время: 0.01 c
1-90889
Colibri
2002-03-17 15:58
2002.03.28
Про TImage


3-90779
alexbl
2002-03-04 03:07
2002.03.28
ListBox


7-91082
Fellomena
2001-12-20 12:37
2002.03.28
GetWindow Vs CreateToolhelp32Snapshot - search, detect and destroy...


3-90756
SelfDestructor
2002-02-26 18:16
2002.03.28
Тип поля, по которому осуществляется связь


3-90789
Rub
2002-03-04 11:02
2002.03.28
Как програмно послать почту по русски??? Помогите плиз!!!