讲解一下颜色单选框RadioButton的设置:
拖一个RadioButton到窗体上,
设置它的ComponentTypeName为Color,
它的ComponentTypeUseKind为dtukName,
表示使用颜色类型的单选框,
先讲解SelfOwnMaterial中如下两个素材属性,
DrawCheckRectParam:勾选框的矩形绘制参数
DrawCheckStateParam:勾勾的矩形绘制参数
IsAutoPosition:是否自动排列勾选框和标题的位置,要打上勾
先设置勾选框,
把DrawCheckParam.BorderColor设置为Lightgray,
把DrawCheckParam.BorderWidth设置2,
表示在没有勾选的状态下,显示一个边框为灰色、粗细为2的矩形,
如下图所示:
接下来设置勾选状态下的效果,
我们把RadioButton.Properties.Checked设置为True,
当Checked为True时,
RadioButton.SelfOwnMaterial中的所有Param就启用它们的PushedEffect,
所以,要设置勾选状态下的勾选框的边框颜色,
把DrawCheckRectParam.DrawEffectSetting.PushedEffect.BorderColor.Color设置为Orangered,
再勾选DrawCheckRectParam.DrawEffectSetting.PushedEffect.EffectTypes中的drpetBorderColorChange,
表示在勾选状态下,边框的颜色变为Orangered,
如下图所示:
接下来再设置勾勾,
在Checked为False的情况下,不需要显示勾勾,
在Checked为True的情况下,显示勾勾,
设置DrawCheckStateParam.DrawRectSetting.Enabled为True,
DrawCheckStateParam.DrawRectSetting.SizeType为dpstPixel,
DrawCheckStateParam.DrawRectSetting.Left,Top,Right,Bottom为4,
表示勾勾是一个边距为4的矩形,
再设置DrawCheckStateParam.DrawEffectSetting.PushedEffect.FillColor为OrangeRed,
DrawCheckStateParam.DrawEffectSetting.PushedEffect.IsFill为True,
勾选DrawCheckStateParam.DrawEffectSetting.PushedEffect.EffectTypes中的drpetIsFillChange和drpetFillColorChange,
表示在勾选状态下,填充一个颜色为Orangered的勾勾矩形,
如下图所示:
再设置标题的显示,
SelfOwnMaterial中有一个IsAutoPosition属性,
它表示自动将标题显示在图片的右边,
因此我们只需要让标题垂直居中显示就可以了,
不需要再设置标题的左边距了,
在SelfOwnMaterial.DrawCaptionParam中设置,
DrawCaptionParam.FontVertAlign设置为fvaCenter,
设置完之后,显示效果如下:
将Porperties.Checked设置为False,显示如下: