定义一ToolButton控件openbutton,Style属性改为tbsDropDown,这样看上去就像是右下拉菜单。定义一过程: procedure tform1.addmenu(); var mypopupmenu:tpopupmenu; //为了动态生成下拉菜单而设置的快捷菜单变量 mymenuitem:tmenuitem; //为了动态生成菜单项而设置的菜单项变量 i:integer; //循环变量 begin mypopupmenu:=tpopupmenu.create(self); //在Form1表单中生成快捷菜单,起名叫mypopupmenu mypopupmenu.autohotkeys:=mamanual; for i:=1 to 5 do //循环5次对Filenames进行遍历 if filenames[i]<>'' then //如果Filenames的字符串中有内容 begin mymenuitem:=tmenuitem.create(self); //产生新的菜单项 mymenuitem.caption:=filenames[i]; mymenuitem.onclick:=menuhandle; mypopupmenu.items.add(mymenuitem); end; openbutton.dropdownmenu:=myppopupmenu; //把openbutton的Dropdownmenu属性与新生成的快捷菜单相关联 end;
procedure tform1.addmenu();
var
mypopupmenu:tpopupmenu;
//为了动态生成下拉菜单而设置的快捷菜单变量
mymenuitem:tmenuitem;
//为了动态生成菜单项而设置的菜单项变量
i:integer;
//循环变量
begin
mypopupmenu:=tpopupmenu.create(self);
//在Form1表单中生成快捷菜单,起名叫mypopupmenu
mypopupmenu.autohotkeys:=mamanual;
for i:=1 to 5 do
//循环5次对Filenames进行遍历
if filenames[i]<>'' then
//如果Filenames的字符串中有内容
begin
mymenuitem:=tmenuitem.create(self);
//产生新的菜单项
mymenuitem.caption:=filenames[i];
mymenuitem.onclick:=menuhandle;
mypopupmenu.items.add(mymenuitem);
end;
openbutton.dropdownmenu:=myppopupmenu;
//把openbutton的Dropdownmenu属性与新生成的快捷菜单相关联
end;