Текущий архив: 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.46 MB
Время: 0.009 c