昨天我问如何将listbox的内容动态的全部添加到popupmenu中,在大家的帮助下,搞定。
接下来,既然菜单项是动态的,那么我怎么样定义它们的OnChange事件呢?是不是先写一个过程,比如myclick的,然后用****.OnClick:=myclick;?
具体说是这样的:我用ado+access ,这个动态菜单项的内容是某一个数据库的所有表的名字(tablename)的列表,我想实现的是如果当点击某一个菜单项时,就将页面上adotable的tablename定义为该菜单项的caption,从而打开相应的表。
不知道我说清楚了没有,请高手指教!谢谢。//这是定义动态菜单的代码,感谢pilicat(delphi迷)
procedure TForm1.FormCreate(Sender: TObject);
Var
I:Integer;
Mit:Array of TMenuItem;
begin
if ListBox1.Items.Count>0 then
setLength(Mit,ListBox1.Items.Count);
for i:=0 to ListBox1.Items.Count-1 do
begin
Mit[i]:=TMenuItem.Create(PopupMenu1);
Mit[i].Name:='ListBoxItem'+IntToStr(i+1);
Mit[i].Caption:=ListBox1.Items[i];
PopupMenu1.Items.Add(Mit[i]);
end;
end;接下来我就不晓得怎么做了,....waiting for u
接下来,既然菜单项是动态的,那么我怎么样定义它们的OnChange事件呢?是不是先写一个过程,比如myclick的,然后用****.OnClick:=myclick;?
具体说是这样的:我用ado+access ,这个动态菜单项的内容是某一个数据库的所有表的名字(tablename)的列表,我想实现的是如果当点击某一个菜单项时,就将页面上adotable的tablename定义为该菜单项的caption,从而打开相应的表。
不知道我说清楚了没有,请高手指教!谢谢。//这是定义动态菜单的代码,感谢pilicat(delphi迷)
procedure TForm1.FormCreate(Sender: TObject);
Var
I:Integer;
Mit:Array of TMenuItem;
begin
if ListBox1.Items.Count>0 then
setLength(Mit,ListBox1.Items.Count);
for i:=0 to ListBox1.Items.Count-1 do
begin
Mit[i]:=TMenuItem.Create(PopupMenu1);
Mit[i].Name:='ListBoxItem'+IntToStr(i+1);
Mit[i].Caption:=ListBox1.Items[i];
PopupMenu1.Items.Add(Mit[i]);
end;
end;接下来我就不晓得怎么做了,....waiting for u
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货