动态创建菜单:将某个目录中的所有文件的名称加入到菜单中。(200分)

H

hlsoft

Unregistered / Unconfirmed
GUEST, unregistred user!
将某个目录中的所有文件的名称加入到菜单中,而且点击菜单后能显示相应的itemindex和caption?
我其实是想实现像winamp那样直接在菜单中选择skin的功能。
可我不知道如何把文件名动态加入到菜单中,并且点击菜单后怎么能够知道选择了哪个文件呢?
 
先将要加入文件的目录打开查找指定文件,然后AppendMenu
当用时(ExtractFilePath(文件名));
 
打开文件时有一个文件列表的属性,指当前目录的所有文件,你可以采用循环方式将其
加入到菜单中,加入菜单后的显示名称设为文件名,由于所有菜单击点后都是实现同一
个操作,只不过是操作对象的文件名不同而已,那么你可以使用同一个菜单事件,使用对象
强制转化这种特性,将其的Caption传送到调用执行文件的操作;由于Caption只是一个文件名
不带后缀及路径,可以将路径及后缀名存储在一变量中调用;
var aFileName:string;//定义一个变量用来存放文件名,其值从文件列表或菜单的Caption
//中提取出来的
aItem:TMenuItem;//定义一个菜单变量
begin
aItem.caption:=aFileName;
popupMemu1.items.add(aItem);or MainMenu1.items.add(aitem);
end;

aFileName:=(sender as TmenuItem).caption;//得到菜单的名称
 
还有动态事件了,入楼上 aItem.onClick=pp;
另外文件就是findFirst,Findnext了!
 
菜单增加好以后,可以把此菜单文件路径增加在MainMenu1.items得Hint里,再在
CLICK事件就很方便找到该路径并打开了
 
顶部