想重新做一个控件,给TMainMenu的Item增加两个属性 ShowFormName:TForm; ShowFormClass:TFormClass 不知道如何增加,请教各位!

解决方案 »

  1.   

    設置ACTION對ACTION.Data  這裏做文章 
      

  2.   

    ShowFormName:TForm?加这样的属性?干嘛用的?我觉得这样的东西还是通过自己写util工具单元实现比较好可以写两个公共方法,如ShowFormName(AItem:TMeun):TForm
      

  3.   

    public
      property ShowFormName:TForm read GetShowFormName;
      property ShowFormClass: TFormClass read GetShowFormClass;
    TXXXMainMenu.GetShowFormName: TForm;
    begin
      GetParentForm 返回 TForm
    end;TXXXMainMenu.GetShowFormClass: TFormClass;
    begin
      GetClass(GetParentForm.Name) 返回TFormClass
    end;
      

  4.   

    就是想点击MainMenu的时候直接能创建窗体,不用每个MenuItem里都写代码
      

  5.   

    自己继承一个,编写自己的代码吧,3楼已经说的差不多了,就是属性放在published中,否则属性栏中是看不到的
      

  6.   

    VCL中写死了,不能拓展。
    constructor TMenu.Create(AOwner: TComponent);//TMainMenu的父类
    begin
      FItems := TMenuItem.Create(Self);//如果他能这样写就好了FItems := CreateItems;
      ...
    end;所以只能对
    TMenuItem <-> TForm 作绑定映射