VB中有关ClipControls属性,有一句不理解:
注意:应避免把 ClipControls 为 True 的控件嵌入到 ClipControls 为 False 的控件中。这样做会导致嵌入控件不能正确重画。
这句话,什么意思?把 ClipControls 为 True 的控件嵌入到 ClipControls 为 False 的控件中究竟能产生什么具体后果呢?最好举例说明。谢谢。

解决方案 »

  1.   

    ClipControls 属性
          返回或设置一个值,决定 Paint 事件中的图形方法是重绘整个对象,还是只绘刚刚露出的区域。它还决定 Microsoft Windows 运行环境是否创建一个不包括该对象的非图形控件的剪裁区。在运行时为只读。语法object.ClipControlsClipControls 有下列组成部分:部分 描述 
    object 对象表达式,其值是“应用于”列表中的一个对象。 
    Boolean 布尔表达式,指定如何重绘对象,“设置值”中有详细描述,。 
    设置值boolean 的设置值如下:设置值 描述 
    True  (缺省值)Paint 事件中的图形方法重绘整个对象。在绘制之前,在该窗体中非图形控件的周围创建剪裁区。 
    False  Paint 事件中的图形方法只绘制刚刚露出的区域。在绘制之前,不在该窗体非图形控件的周围创建剪裁区。 ClipControls 设置为 False 时,加载和重绘复杂窗体比较快。 
    说明剪裁是确定当显示窗体时,对诸如 Frame 或 PictureBox 控件的窗体或容器的哪一部分进行重绘。在内存中建立窗体和控件的大纲。Windows 运行环境利用这个大纲来重画某些部分,诸如背景色,而不会影响其它部分,例如 TextBox 控件的内容。因为剪裁区建立在内存中,所以将该属性设置为 False可以减少绘制或重绘窗体所需的时间。剪裁区包括大部分控件,但是不在 Image、Label、Line 或 Shape 控件的周围剪裁。避免将 ClipControls 设置为 True 的固有控件,嵌套在 ClipControls 属性设置为 False 的控件内(例如:命令按钮在图片框内)。这种控件嵌套引起控件不能准确重绘。为解决这个问题,将容器控件和嵌套的控件的 ClipControls 属性设置为 True。
      

  2.   

    挺容易理解的,CLIPCONTROLS=TRUE时,定义了PAINT背影颜色事件改变窗体大小后
    若是CLIPCONTROLS=FALSE时,改变窗体大小,效果是这样的