动态设置PopupMenu ( 积分: 20 )

  • 主题发起人 主题发起人 delphijob
  • 开始时间 开始时间
D

delphijob

Unregistered / Unconfirmed
GUEST, unregistred user!
想做这样的一个功能:
数组a[5]的内容是‘a’,'b','c','d','e'
现在需要动态的改变右键菜单PopupMenu1,使得右键内容为‘a’,'b','c','d','e'
5项,并且单击这5项时用showmessage显示该项的内容,如点'a'项时显示'a'
 
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i:integer;
popupmenu:Tpopupmenu;
q1,q2,q3,q4,q5:Tmenuitem;
qq:array of Tmenuitem;
str:array of string;
begin
setlength(str,5);
str[0]:='a';
str[1]:='b';
str[2]:='c';
str[3]:='d';
str[4]:='e';
popupmenu:=Tpopupmenu.Create(nil);
setlength(qq,5);
for i:=0 to 4 do
begin
qq:=Tmenuitem.Create(nil);
qq.Caption:=str;
end;
popupmenu.items.Add(qq);
Bitbtn1.PopupMenu:=popupmenu;
end;
end.
看看这段代码,本来以为这个程序会很简单,结果搞了半天;
最后一个功能没有实现,就是点击这5项showmessage显示这个。
其中用到了array of Tmenuitem;D7里面不知道为什么菜单不准连续插入两次;
无奈才想出来这个笨办法。刚刚学D7没多久,还望高手指点。
 
后退
顶部