需要一个窗口设计器,和Delphi集成开发环境中的Form设计一样,可以放置控件,设置各种属性。
请大师们给些建议,或给些例程,或介绍些现成的设计控件也可以啊。

解决方案 »

  1.   

    1)在系统某一个单元文件中的初始化部分REGCLASSES(你需要放置的控件的CLASS名),这样你的系统在使用CLASSNAME来CREATE的时候才能够创造这个控件;
    2)将这个窗口的所有控件保存到文件和从文件中读取可以使用TStream的ReadComponent方法来读取并产生一个控件,保存的时候可以用其WRITEcomponent方法来保存。
    3)使用RTTI来修改属性值
    4)在设计时,还需要修改控件的鼠标事件,这样才能产生选取控件等的方法。
    5)以上方法的控件需要是TCOMPONENT的子类
      

  2.   

    谢谢 netfly(支点) 给了很多有建设性的技术要点自己写一个看来技术难度很大,而且应该是很大量的工作。
    控件的放置,特别是选中,拖动,改变位置大小等都有很多技术难点
    还有控件的属性名称,属性值,属性类型等
    最后是设计排版的结果保存到文件,和从文件载入等maming2003(嘿!兄弟!!要煤不???)  能不能帮我找到,或给个链接什么的?
      

  3.   

    去看看FastReport的设计器源代码,看看人家都是怎么实现的
      

  4.   

    FastReport是报表设计,和我这个应该不同,而且,它的源码我也找不到啊
      

  5.   

    不要想当然
    FastReport不仅可以设计报表,还可以设计对话框,
    而且有源码的
      

  6.   

    下载了个,但安装老有些问题,我用的是Delphi7,不知有什么技巧没有?
      

  7.   

    用Google以 Delphi "Form Designer" Download 搜到一大堆,也没时间一一去看哪个是免费的。有一点是你不能只搜中文的页面。
    只挑了一个: http://www.dirfile.com/miraplacid_form.htm
      

  8.   

    有一个叫handel的东西,是模仿Delphi 3的IDE,有源代码。
    在这里:
    http://www.freedownloadscenter.com/Programming/Delphi_Tools_and_Components/Handel.html
      

  9.   

    这个handel好象是好东西,可是,用到的DesignIntf.pas有点问题,而且,这个DesignIntf是Delphi本身带的,为什么Delphi本身带的都会有问题呢?Delphi带有一系列的Designxxx又怎么用的呢?
      

  10.   

    可以去看一下ReportBuilder的源码
      

  11.   

    Delphi后来的版本已经把设计时接口分成了几个单元:
    designconst.pas
    designeditors.pas
    designintf.pas
    designmenus.pas
    designwindows.pas
      

  12.   

    但是,有几个单元都引用了Proxies单元,而这个单元怎么也找不到,有些人说直接删除,但删除了有些代码又出错,难道将这些相关的代码都删除,这样行吗?怎么弄?
      

  13.   

    有一个Proxy.pas呀,是用于非可视组件的设计时代理(就是显示个小方框)。
    你下载的是不是有问题。
      

  14.   

    是我的疏忽,proxies.pas是Delphi中自带的。
    不过从D6开始已经放到DesignxxIDE.bpl中了。
    你可以把它注释掉或者写一个空函数。
      

  15.   

    Borland有一个解释:
    http://community.borland.com/article/0,1410,27717,00.html
      

  16.   

    楼主:
    从Delphi 6以后,Delphi就强行要求区分开设计时包(design-time package)和运行包(run-time package),而且不允许分发Delphi中所包含的设计时支持包和.dcu文件。请参考 http://community.borland.com/article/0,1410,27717,00.html 。你需要在设计时包里包含 DesignIDE 包,它里面有那些设计时需要的单元:designeditors, designintf, proxies 等。--
    http://www.agui.googlepages.com
    mailto: agui.cn(a)gmail.com