Delphi2009的按钮、文本框、ListView效果都是很圆滑的效果,而Delphi7的控件是方方正正的效果。
我最近就经常遇到好好的程序,不知什么时候就在设计和编译出来的窗体控件效果都变回了D7的效果 。
这种情况往往发生在:
把D7的项目上的一些控件,如Edit,Label,ListView复制到粘贴到Delphi2009的窗体上时,有时没问题,可说不准突然不经意之间,D2009的控件就失去了原来的效果,被“打回”D7的效果。而且,一旦被变形,你再从D2009的控件表上拉一个新Edit、Label到窗体上,它都成了D7的效果。
1、这是为什么?
2、再遇到这种情况时,我如何修复?
注意:因为原有项目很多控件在D7都作好了大小等设置,不想在D2009重复工作。
PS:我能保证粘贴过去的控件在D2009上都是存在的。谢谢!
顺祝各位鸟蛋节快乐!

解决方案 »

  1.   

    project-option-application-enable runtime themes
      

  2.   

    哥们,谢谢你。
    但我的问题可能还是有些特殊性。我的子过程是用DLL封装的,即DLL窗体。
    我按你说的方法,重作一个DLL窗体,再放些控件上去,它是显示的XP或D2009的效果(注意,DLL窗体的applcation enable...功能是不可用的。)
    但我从D7的一个项目上粘贴过来的些控件时却变回了D7的效果。详情请参阅原文即附图。
    谢谢!
    或者方便的话请加我QQ:86391891
      

  3.   

    谢谢一楼!
    我刚才自己在研究,找到了解决办法:
    设有问题的项目名为 Old.dpr,1. 新建一个没有问题的项目,名为  New.dpr.2. 经比较,Old.dpr下有个资源文件叫  Old.res, New.dpr下有个资源文件叫 New.res.
    3. 把Old.res删除,把New.res复制到Old.dpr文件夹内,并改名为Old.res。
    4. 再次打开Old.dpr,成功!注意点,先建议关闭Old.dpr再执行Step3,否则会覆盖掉。请楼上其他朋友帮忙测试一下我的方法是否要靠,如果能解决问题,请大家回复一下,我好结分。
      

  4.   

    我觉得可能是要做到向下兼容的考虑 使用了老的资源文件
    我觉得拷贝过去的文件用新的Theme可能会有问题 猜测
      

  5.   

    genispan:我没有放什么特别的东西到资源文件里面。
    如果不这样作的话,实在是想不同什么解决办法了。
    再等两天,还没人帮忙测试就结账了。
      

  6.   

    唉,都用上了2009了,我看都没看到过.......还在用DELPHI7和BCB6...可怜啊.
      

  7.   

    我从2007就遇到过此问题,DBEdit效果不一致。
      

  8.   

    埃,貌似我从来不用D添加的资源,什么XPManifest、Version、icon都自己手工来添加,不是很好?
    Exe程序里加入XPManifest就足够了,貌似