我要创建大概3,4个radiogroup,每个里面有大概3,4个radio,
问题是我第一次创建了后,第二次要先去掉前面的,再生成新的,这样的话,
有一定的延迟。。
有没有谁有好的解决办法

解决方案 »

  1.   

    创建控件时可以设置该控件的属主,也就是Create构造方法的Owner参数,如果指定了属主,控件的底层就会自动调用Notify方法,采用递归的方法通知其他的所有控件,这时就会消耗控件的创建时间,如果Owner为nil,则不会调用,会节省一些时间.
      

  2.   

    补充一点,如果Owner的值为nil,那么创建的控件需要自己手工释放.
      

  3.   

    反正是动态创建,干脆把之前的Free掉,直接用新的,:D
      

  4.   

    你可以在创建控件的是把csLoading的状态加上,这样Delphi就不会去更新和发消息通知其它组件,Delphi从资源文件加载控件的时候就是用这个的,具体可以参考VCL源码.Include(Result.FComponentState, csLoading);记得调用Exclude(FRoot.FComponentState, csLoading);否则加载完了也不会通知的.