6 第三组UI组件:按钮、单选框和复选框

6.1 按钮

按钮由CSkinButton类来代表,继承于CSkinView,支持CSkinView的所有属性和方法。通过给按钮设置不同的布局文件,可以得到各种形态的按钮。

按钮

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Icon="128" Caption="IDS_CONTROL_SHOW1" Animation="SizeChange" EscCloseDialog="true">
    <SkinTextView Id="1" FontColor="ID_COLOR_TEXT" Text="IDS_CONTROL_SHOW_TEXT1" AlignParentLeft="30" AlignParentRight="30" AlignParentTop="45" LayoutHeight="24" FontStyle="ID_FONT_NORMAL"/>
    <SkinTextView Id="1" FontColor="ID_COLOR_TEXT" Text="IDS_CONTROL_SHOW_TEXT2" AlignParentLeft="30" AlignParentTop="100" AlignParentRight="30" LayoutHeight="72" FontStyle="ID_FONT_NORMAL" MultiLine="true"/>
    <SkinTextView Id="1" FontColor="ID_COLOR_RED" Text="IDS_CONTROL_SHOW_TEXT3" AlignParentLeft="30" AlignParentTop="200" LayoutHeight="72" LayoutWidth="275" FontStyle="ID_FONT_NORMAL" MultiLine="true"/>
</SkinDialog>

下面是CSkinButton类特有的XML属性和相关方法:

6.1.1设置鼠标移上去按钮垂直方向的偏移量

  • 通过XML属性控制如下:
MouseOverOffset="-1"
  • 通过C++程序代码调用方法控制如下:
void SetMouseOverOffset(LONG nOffset);

6.1.2设置鼠标按下时按钮垂直方向的偏移量

  • 通过XML属性控制如下:
PressDownOffset="1"
  • 通过C++程序代码调用方法控制如下:
void SetPressDownOffset(LONG nOffset);

6.2 单选框

单选框由CSkinRadioButton类来代表,继承于CSkinButton,支持CSkinButton的所有属性和方法。

单选框的父组件的父组件必须为CSkinRadioGroup或其子类,用来将单选框分组。选中组框中的一个单选框时,自动取消其他单选框的选中状态。通过给单选框设置不同的布局文件,可以得到各种形态的单选框。

单选框

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Icon="128" Caption="IDS_CONTROL_SHOW5" Animation="SizeChange">
    <SkinRadioGroup LayoutWidth="200" LayoutHeight="60" AlignParentLeft="50" AlignParentTop="100">
        <SkinRelativeLayout LayoutWidth="FillParent" LayoutHeight="FillParent">
            <SkinRadioButton LayoutWidth="200" LayoutHeight="30" ChildText1="IDS_CONTROL_SHOW_TEXT10" Layout="RadioButton.xml" AlignParentTop="0"/>
            <SkinRadioButton LayoutWidth="200" LayoutHeight="30" ChildText2="IDS_CONTROL_SHOW_TEXT11" ChildImage1="Icon.png" Layout="RadioButtonWidthIcon.xml" AlignParentTop="30"/>
        </SkinRelativeLayout>
    </SkinRadioGroup>
</SkinDialog>

下面是CSkinRadioButton类特有的XML属性和相关方法:

6.2.1设置单选框是否选中

  • 通过XML属性控制如下:
Checked="true"
  • 通过C++程序代码调用方法控制如下:
virtual void SetChecked(BOOL bChecked);

6.2.2设置单选框绑定的视图

通过给复选框设置不同的布局文件,可以得到不同形态的单选框。例如:通常使用单选框来实现Tab控件。
单选框被选中时,绑定的视图同时显示;单选框取消选中时,绑定的视图同时隐藏。

  • 通过XML属性控制如下:
BindView="1000"
  • 通过C++程序代码调用方法控制如下:
virtual void SetBindView(LONG nBindView);

6.3 复选框

复选框由CSkinCheckBox类来代表,继承于CSkinButton,支持CSkinButton的所有属性和方法。通过给复选框设置不同的布局文件,可以得到各种形态的复选框。

复选框

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Icon="128" Caption="IDS_CONTROL_SHOW4" Animation="SizeChange">
    <SkinCheckBox LayoutWidth="200" LayoutHeight="30" ChildText1="IDS_CONTROL_SHOW_TEXT8" Layout="CheckBox.xml" AlignParentLeft="50" AlignParentTop="75"/>
    <SkinCheckBox LayoutWidth="200" LayoutHeight="30" ChildText2="IDS_CONTROL_SHOW_TEXT9" ChildImage1="Icon.png" Layout="CheckBoxWidthIcon.xml" AlignParentLeft="50" AlignParentTop="175"/>
</SkinDialog>

下面是CSkinCheckBox类特有的XML属性和相关方法:

6.3.1设置复选框是否选中

  • 通过XML属性控制如下:
Checked="true"
  • 通过C++程序代码调用方法控制如下:
virtual void SetChecked(BOOL bChecked);

6.3.2设置复选框的选中状态

复选框的选中状态有:完全选中状态、部分选中状态和未选中状态。

  • 通过C++程序代码调用方法控制如下:
virtual void SetCheckedState(CheckState state);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官方网站:http://www.skinui.cn 下载地址:http://pan.baidu.com/s/1sl...
    吴忠亮阅读 1,611评论 0 2
  • 1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 ...
    Moment__格调阅读 4,586评论 0 11
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • 学生时代的暗恋多美好,窗前门后的偶遇,偷偷叠的纸心,压在书本下的卡片,偶尔被关注的欣喜。 时光过去,你可能记不...
    怪叔叔々阅读 190评论 3 2
  • 在用nginx架设了文件服务器之后,这种形式仅仅只能用来下载,不能提供上传。如果想上传一个大文件到服务器上,目标是...
    anxiaozhu阅读 2,399评论 0 2