我要把sql server 2000里的一个表的数据做成菜单,数据库为bm,表名为bm_1,表的开头几行数据如下:
字段名 mc (编号)       mz(名字)
        11           一部
    111        甲
    112        乙
    12        二部
    121        丙
    122        丁   
用popupmenu,部门是一级菜单,人员是子菜单,要实现这样的菜单,并把选择的菜单结果(部门+人员)输出,要怎么做?
先谢了!

解决方案 »

  1.   

    直接提取数据库数据动态生成菜单不就可以了?
    要是设置级别的话将mc化成字符用copy函数取位
      

  2.   

    procedure tform1.abc(sender:tobject);
    begin
    showmessage('welcome you click me!! :) xixi');
    end;
    var
    files,edit:tmenuitem;
    new,copy:tmenuitem;
    sub1,sub2,sub3,lines:tmenuitem;
    begin
     files:=tmenuitem.Create(self);
    edit:=tmenuitem.create(self);
    files.Caption:='文件';
    edit.caption:='编辑';
    mainmenu1.AutoHotkeys:=mamanual;{此句代码为不让系统自动设置快捷键}
    form1.MainMenu1.Items.Add(files);
    form1.mainmenu1.items.add(edit);
    {上部代码为创建菜单头}
    new:=tmenuitem.create(self);
    copy:=tmenuitem.create(self);
    new.Caption:='新建';
    copy.caption:='拷贝';
    files.Add(new);
    edit.add(copy);
    {上部代码为创建菜单项}
    sub1:=tmenuitem.create(self);
    sub2:=tmenuitem.create(self);
    sub3:=tmenuitem.create(self);
    lines:=tmenuitem.create(self);
    lines.caption:='-';
    sub1.caption:='子菜单1';
    sub2.caption:='子菜单2';
    sub3.caption:='子菜单3';
    new.Add(sub1);
    new.add(lines);
    new.add(sub3);
    copy.Add(sub2);
     sub1.OnClick:=abc;
     sub2.OnClick :=abc;
     sub3.OnClick :=abc;
      

  3.   

    谢谢,不过不是这样。要的是菜单项是会随着数据库的数据变动而变的,因而caption应该是从数据库里提取的,不是直接输在代码里。