各位大哥大、大姐大,春节快乐。^________________________________________________________^
************************************************************************
小弟的问题是这样的:  小弟写了一个MainMenu 。  但,这个MainMenu不是从TMenu或TMainMenu继承下来的,  所以也就没有遗传它们的PropertyEditor 。  可是,我又很想拥有TMainMenu里“Items”属性的“PropertyEditor”。  说得通俗点儿,就是,想实现“设计时菜单编辑器”。  请大伙帮帮我,由衷感谢~再次祝愿 新年快乐。 ^_________^

解决方案 »

  1.   

    package xxx;
    //....
    requires
      rtl,
      designide; //包中加入designide.dcp(MnuBuild.pas)
    //....
    end.//单元中uses MnuBuild;
    unit xxxx;uses
      Classes, Menus, MnuBuild,
    {$IFDEF VER140}
      DesignEditors, DesignIntf
    {$ELSE}
      {$IFDEF VER150}
        DesignEditors, DesignIntf
      {$ELSE}
        DsgnIntf
      {$ENDIF}
    {$ENDIF};procedure Register;
    begin
      RegisterComponents('Zswang', [TMyMenu]);  RegisterPropertyEditor(TypeInfo(TMenuItem), TMyMenu, 'Items', TMenuItemProperty);
    end;
      

  2.   

    伴水大哥:   非常感谢的回答,但……我用的是BCB6。所以加入requires中的是:designide.bpi 。没有什么其他问题,就是编译时,编译器狂吼:“TMenuItemProperty 没有定义”我晓得designide.bpi中是包含TMenuItemProperty之定义的,为何如此错误还是出现呢?
      

  3.   

    不熟悉BCB的环境,加入designide.bpi以后是不是要在什么地方引用MnuBuild单元
      

  4.   

    MnuBuild 单元早已加入。
      您帮我在你的 delphi 环境下试试 TMenuItemProperty 能否使用,行不?
      

  5.   

    我在Delphi的环境下已经调试通过
      

  6.   

    那位兄弟能帮我在您BCB下试试,看看是不是我的BCB出问题了?
      

  7.   


      怎么把属性编辑器的数据传回或者向属性编辑器传输数据呢。
      我做的属性编辑器时一个扩展TreeView的Items的编辑器,
      功能和TreeView的Items的编辑器功能一样,只是添加了一个属性。