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

Вниз

Значки в popupmenu   Найти похожие ветки 

 
alexa14   (2006-12-06 17:58) [0]

Есть popupmenu со списком файлов. Как мне возле каждого файла разместить его значок?


 
ajlekceu ©   (2006-12-06 18:03) [1]


> alexa14   (06.12.06 17:58)  
> Есть popupmenu со списком файлов. Как мне возле каждого
> файла разместить его значок?

самый простой способ - использовать ImageList, забив его картинками и прописав в свойстве popupmenu под названием "imagelist" полученный imagelist


 
ajlekceu ©   (2006-12-06 18:05) [2]

ну и потом для каждого элемента popupmenu можно выбирать картинку из имеджлиста с помощью свойства ImageIndex в соответствующих элементах


 
alexa14   (2006-12-06 18:13) [3]

это я и так знал. А вот как забить Imagelist значками файлов?


 
ajlekceu ©   (2006-12-07 12:00) [4]


> alexa14   (06.12.06 18:13) [3]
> это я и так знал. А вот как забить Imagelist значками файлов?
>

если я правильно понял и нужен значок файла определенного типа, то можно сделать так (что называется топором):
вычислить тип файла,
в реестре (HKEY_CLASSES_ROOT) найти нужный тип файлов, и узнать откуда он берет значок,
использовать ImageList1.AddIcon(<путь_до_значка_из_реестра>)


 
ajlekceu ©   (2006-12-07 12:36) [5]

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:37) [6]

это для работы с реестром, и получения пути к значку.
дальше дело техники



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

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

Наверх




Память: 0.47 MB
Время: 0.091 c
15-1164804703
Studentik_is_pitera
2006-11-29 15:51
2006.12.24
4to delat


1-1162995840
Choco
2006-11-08 17:24
2006.12.24
Изменить цвет выделения


11-1141994068
avs
2006-03-10 15:34
2006.12.24
Kol 2.34


2-1165223382
gdaujk
2006-12-04 12:09
2006.12.24
Как программно открыть "Мой компьютер"?


15-1165139896
ml
2006-12-03 12:58
2006.12.24
"TUnRar без Dll" - моя первая статья