![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Значки в popupmenu [D7, XP]
alexa14 © (2006-12-06 17:58:00)Есть popupmenu со списком файлов. Как мне возле каждого файла разместить его значок?
ajlekceu (2006-12-07 12:37:00) [1]это для работы с реестром, и получения пути к значку.
дальше дело техники
ajlekceu (2006-12-07 12:36:00) [2]uses Registry
var Rg: TRegistry;
procedure TForm1.Button1Click(Sender: TObject);
var RealFileTypeKey, IconName: string; MyIcon: TIcon;
begin
Rg:=TRegistry.Create;
Rg.RootKey:=HKEY_CLASSES_ROOT;
Rg.OpenKeyReadOnly(ExtractFileExt( <имя_файла> ));
RealFileTypeKey:=Rg.ReadString('');
Rg.Free;
{почему-то за один раз не хочет все это делать, пришлось создавать Rg заново}
Rg:=TRegistry.Create;
Rg.RootKey:=HKEY_CLASSES_ROOT;
Rg.OpenKeyReadOnly(RealFileTypeKey+'\DefaultIcon');
IconName:=Rg.ReadString('');
Rg.Free;
end;
ajlekceu (2006-12-07 12:00:00) [3]
> alexa14 (06.12.06 18:13) [3]
> это я и так знал. А вот как забить Imagelist значками файлов?
>
если я правильно понял и нужен значок файла определенного типа, то можно сделать так (что называется топором):
вычислить тип файла,
в реестре (HKEY_CLASSES_ROOT) найти нужный тип файлов, и узнать откуда он берет значок,
использовать ImageList1.AddIcon(<путь_до_значка_из_реестра>)
alexa14 (2006-12-06 18:13:00) [4]это я и так знал. А вот как забить Imagelist значками файлов?
ajlekceu (2006-12-06 18:05:00) [5]ну и потом для каждого элемента popupmenu можно выбирать картинку из имеджлиста с помощью свойства ImageIndex в соответствующих элементах
ajlekceu (2006-12-06 18:03:00) [6]
> alexa14 (06.12.06 17:58)
> Есть popupmenu со списком файлов. Как мне возле каждого
> файла разместить его значок?
самый простой способ - использовать ImageList, забив его картинками и прописав в свойстве popupmenu под названием "imagelist" полученный imagelist