刚刚准备入门,请教一个下拉菜单的问题!(50分)

  • 主题发起人 主题发起人 ishehui2008
  • 开始时间 开始时间
I

ishehui2008

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一个窗体上建2个下拉菜单。
第一个下拉菜单里能选择A B C
我希望我选A的时候第二个下拉菜单对应出现1 2 3三个选項
选B的时候出现 4 5 6
C 出7 8 9
希望各位高手棒棒忙!
 
用二级子菜单啊
 
是不是第二个菜单有9项
是的话 这个应该第二个下拉菜单要跟第一个建立关联
 
.....用多个popmenu就OK ,或者你自己动态创建菜单
procedure TForm1.mainmenuClick(Sender: TObject);
{A、B、C菜单的点击事件}
var
i:integer;
begin
for i:=MainMenu1.Items.Count-1do
wnto 0do
if MainMenu1.Items.Tag=9 then
MainMenu1.Items.Delete(i);
case TMenuItem(Sender).Tag of {这里我根据菜单Tag区分,你可以考虑别的方法}
1:
begin
popmenu_a.Items.Tag:=9;
popmenu_a.Items.Caption:=popmenu_a.Name;
MainMenu1.Items.Add(popmenu_a.Items);
{把popmenu添加进主菜单}
end;
2:
begin
popmenu_b.Items.Tag:=9;
popmenu_b.Items.Caption:=popmenu_b.Name;
MainMenu1.Items.Add(popmenu_b.Items);
end;
3:
begin
popmenu_c.Items.Tag:=9;
popmenu_c.Items.Caption:=popmenu_c.Name;
MainMenu1.Items.Add(popmenu_c.Items);
end;
end;
{ self.Menu:=nil;
self.Menu:=MainMenu1;}
end;

procedure TForm1.FormClose(Sender: TObject;
var Action: TCloseAction);
var
i:integer;
begin
{窗体关闭前一定要把添加进mainmenu的popmenu删掉,否则会被重复释放出错}
for i:=MainMenu1.Items.Count-1do
wnto 0do
if MainMenu1.Items.Tag=9 then
MainMenu1.Items.Delete(i);
end;
 
拖一个TMainMenu控件放在窗体上,双击这个控件编辑,想多少级都可以,想加哪都可以
 
就像玩WORLD一样,不用写代码,单击一下编辑,双击一下进入下一级,都是一样,你用1000级的都可以---------这大概是RAD的好处吧.VB也差不多.
 
感谢各位的耐心解答~谢谢!最近比较忙,哈哈~没时间上。
第一次也不会,各位每人10分吧!真的想不出什么更好的“解决方案”了[:D][:D]
 
后退
顶部