delphi – TControlState.csDesignerHide与TControlStyle.csNoDe
VCL似乎提供了两种从表单设计器中隐藏控件的机制:TControlState.csDesignerHide和TControlStyle.csNoDesignVisible.
就IDE而言,它们之间有什么区别?你应该用什么时候? 解决方法
概要
使用TControlState.csDesignerHide来防止控件的绘制. 使用TControlStyle.csNoDesignVisible来模拟Visible属性的运行时行为. 精 好问题!他们之间只是有区别,所以我做了一些调查. 在“控制”单元中搜索使用情况,我们发现: > TControlState.csDesignerHide用于:TControl.InvalidateControl,TWinControl.UpdateShowing,TWinControl.PaintHandler,TWinControl.PaintControls, 因此,TControlState.csDesignerHide仅用于绘画操作,而TControlStyle.csNoDesignVisible也用于位置和对齐操作. 换句话说,使用: > TControlState.csDesigner隐藏,如果你只想控制可见性, 此外,TControlStyle.csNoDesignVisible仅与Visible属性结合使用.当Visible设置为True时,它不起作用. (通常,Visible属性仅影响运行时行为). 为了说明差异,特此提出一个表格设计师的三个屏幕截图.表单从左到右放置:具有控件TControlStyle.csNoDesignVisible的属性“Panel”,具有控件TControlState.csDesignerHide属性和另一个Panel的“TStateControl”的“TStyleControl”,所有属性均设置为alLeft: >全部使用默认设置> StateControl1.DesignerHide = True> StyleControl1.NoDesignVisible = True和StyleControl1.Visible = False (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |