![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как зная путь к .exe файлу узнать его картинку ?
skovorodka © (2002-03-17 11:03:00)???
VID (2002-03-18 11:42:00) [1]Действительно, изврат :) давай уж сразу на машинные коды переходить :)
Shirson (2002-03-18 10:50:00) [2]Рисовать иконки на канве TListView, это все равно что клеить переводные картинки на экран телевизора :)
Song (2002-03-17 22:44:00) [3]2VID, а что у TListView нет канваса?
VID (2002-03-17 22:34:00) [4]TO SONG: Что ты пытаешься мне доказать ? :)
Таким методом, который привёл ты, вряд ли отобразшь что-нибудь в TLISTVIEW .
Song (2002-03-17 22:24:00) [5]2VID, OK, рабочий код в двух строках:
Var IconIndex:Word;
....
IconIndex:=1;
DrawIcon(любой_канвас.Handle,x,y,ExtractAssociatedIcon(Handle,PChar("имя_файла"),IconIndex));
VID (2002-03-17 17:44:00) [6]TO Song: Ну так - то оно и есть... в корне функции ADDICON лежит EXTRACTASSOCIATEDICON. Просто я дал рабочую функцию, которая подходит для большинства случаев отображения множества файлов, в каком-либо объекте, с помощь ImageList. :)
Song (2002-03-17 16:32:00) [7]Да.... VID ты нагородил!!! :)))
Всего лишь Win API: ExtractAssociatedIcon
VID (2002-03-17 12:25:00) [8]Приведённая ниже функция добавляет в 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;