美文网首页程序员
6 第三组UI组件:按钮、单选框和复选框

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

作者: 吴忠亮 | 来源:发表于2017-01-10 12:46 被阅读397次

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);

相关文章

网友评论

    本文标题:6 第三组UI组件:按钮、单选框和复选框

    本文链接:https://www.haomeiwen.com/subject/igymuttx.html