美文网首页滚动程序员手机移动程序开发
7 第四组UI组件:进度条、分割条、滚动条和滑块

7 第四组UI组件:进度条、分割条、滚动条和滑块

作者: 吴忠亮 | 来源:发表于2017-01-11 13:41 被阅读253次

7.1 进度条

进度条由CSkinProgress类来代表,继承于CSkinView,支持CSkinView的所有属性和方法。
通过给进度条设置不同的图片资源,可以得到各种形态的进度条。

进度条效果图

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Icon="128" Caption="IDS_CONTROL_SHOW13" Animation="SizeChange">
    <SkinProgress LayoutHeight="19" AlignParentLeft="10" AlignParentRight="10" AlignParentVerticalCenter="0" Range="100" Pos="50" Image="Progress.png"/>
</SkinDialog>

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

7.1.1设置进度条的最大进度

  • 通过XML属性控制如下:
Range="100"
  • 通过C++程序代码调用方法控制如下:
void SetRange(uint64 nRange);

7.1.2设置进度条的当前进度

  • 通过XML属性控制如下:
Pos="1"
  • 通过C++程序代码调用方法控制如下:
void SetPos(uint64 nPos);

7.2 分割条

分割条由CSkinSplitter类来代表,继承于CSkinView,支持CSkinView的所有属性和方法。
通过给分割条设置不同的图片资源,可以得到各种形态的进度条。

分隔条效果图

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Icon="128" Caption="IDS_CONTROL_SHOW14" Animation="SizeChange">
    <SkinSplitter LayoutHeight="3" AlignParentLeft="10" AlignParentRight="10" AlignParentVerticalCenter="0" Min="50" Max="250" Image="VSplitter.png"/>
</SkinDialog>

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

7.2.1设置分割条是否为水平分隔条

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

7.2.2设置分隔条的移动范围

  • 通过XML属性控制如下:
Min="100" Max="1000"
  • 通过C++程序代码调用方法控制如下:
void SetMoveRange(LONG nMin, LONG nMax);

7.3 滚动条

滚动条由CSkinScrollBar类来代表,继承于CSkinView,支持CSkinView的所有属性和方法。通过给滚动条设置不同的布局文件,可以得到不同形态的滚蛋条。例如:可以设置滚动条只有滚动滑块而没有滚动箭头。

  • 滚动条可以单独存在
<SkinScrollBarId="1125" LayoutHeight="21" AlignParentLeft="15" AlignParentRight="15" AlignParentVerticalCenter="0" Layout="VScrollBar.xml"/>
  • 滚动条也可以搭配列表框:
<SkinListView AlignParentLeft="1" AlignParentRight="1" AlignParentTop="1" AlignParentBottom="1" VScrollBar="VScrollBar.xml">
  • 滚动条也可以搭配编辑框:
<SkinEditView Image="Edit.png" MultiLine="true" AlignParentLeft="8" AlignParentRight="8" AlignParentTop="38" AlignParentBottom="8" VScrollBar="VScrollBar.xml"/>
  • 垂直滚动条布局文件VScrollBar.xml如下:
<SkinVerticalLayout LayoutWidth="FillParent" LayoutHeight="FillParent">
    <ScrollSlider Id="100001" LayoutWidth="FillParent" LayoutHeight="FillParent" Image="VScrollSlider.png">
        <ScrollThumb Id="100002" Image="VScrollThumb.png"/>
    </ScrollSlider>
</SkinVerticalLayout>
滚动条单独使用 滚动条搭配编辑框效果图 滚动条搭配列表框效果图

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

7.3.1设置滚动条的滚动视图

  • 通过C++程序代码调用方法控制如下:
void SetScrollView(CSkinScrollView* pView);

7.3.2设置滚动条信息

  • 通过C++程序代码调用方法控制如下:
void SetScrollInfo(const ScrollInfo& info);

7.3.2设置滚动条滑块位置

  • 通过C++程序代码调用方法控制如下:
void SetScrollPos(LONG nPos);

7.4 滑块

滑块由CSkinSlider类来代表,继承于CSkinView,支持CSkinView的所有属性和方法。
通过给滑块设置不同的图片资源,可以得到各种形态的进度条。

滑块效果图

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Icon="128" Caption="IDS_CONTROL_SHOW17" Animation="SizeChange">
    <SkinSlider Id="1125" LayoutHeight="21" AlignParentLeft="15" AlignParentRight="15" AlignParentVerticalCenter="0" Range="100" Pos="50" Image="AlphaSliderBkg.png" ThumbImage="AlphaSliderThumb.png"/>
</SkinDialog>

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

7.4.1设置滑块的移动范围

  • 通过XML属性控制如下:
Range="100"
  • 通过C++程序代码调用方法控制如下:
void SetRange(LONG nRange);

7.4.2设置滑块的当前位置

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

7.4.3设置滑块的图像

  • 通过XML属性控制如下:
ThumbImage="SliderThumb.png"
  • 通过C++程序代码调用方法控制如下:
void SetThumbImage(uint64 nPos);

相关文章

网友评论

    本文标题:7 第四组UI组件:进度条、分割条、滚动条和滑块

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