8 第五组UI组件:滚动视图、编辑框和下拉列表框

8.1 滚动视图

滚动视图由CSkinScrollView类来代表,继承于CSkinView,支持CSkinView的所有属性和方法。CSkinScrollView是抽象类,是所有可滚动视图的基类。下面是CSkinScrollView类特有的XML属性和相关方法:

8.1.1设置垂直滚动条

  • 通过XML属性控制如下:
VScrollBar="VScrollBar.xml"
  • 通过C++程序代码调用方法控制如下:
void SetVertScrollBar(const tstring& strLayout);

8.1.2设置动画滚动

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

8.2 编辑框

编辑框由CSkinEditView类来代表,分为单行编辑框和多行编辑框,继承于CSkinScrollView,支持CSkinScrollView的所有属性和方法。

单行编辑框

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Icon="128" Caption="IDS_CONTROL_SHOW9" Animation="SizeChange">
    <SkinEditView LayoutHeight="28" Image="Edit.png" Tips="UpperCase" UpperCase="true" AlignParentLeft="50" AlignParentRight="50" AlignParentTop="50"/>
    <SkinEditView LayoutHeight="28" Image="Edit.png" Tips="LowerCase" LowerCase="true" AlignParentLeft="50" AlignParentRight="50" AlignParentTop="90"/>
    <SkinEditView LayoutHeight="28" Image="Edit.png" Tips="Password" Password="true" AlignParentLeft="50" AlignParentRight="50" AlignParentTop="130"/>
    <SkinEditView LayoutHeight="28" Image="Edit.png" Tips="ReadOnly" ReadOnly="true" AlignParentLeft="50" AlignParentRight="50" AlignParentTop="170"/>
    <SkinEditView LayoutHeight="28" Image="Edit.png" Tips="Number" Number="true" AlignParentLeft="50" AlignParentRight="50" AlignParentTop="210"/>
    <SkinEditView LayoutHeight="28" Image="Edit.png" Tips="Limit" Limit="10" AlignParentLeft="50" AlignParentRight="50" AlignParentTop="250"/>
</SkinDialog>
多行编辑框

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Resize="true" Icon="128" Caption="IDS_CONTROL_SHOW10" Animation="SizeChange">
    <SkinEditView Image="Edit.png" MultiLine="true" AlignParentLeft="8" AlignParentRight="8" AlignParentTop="38" AlignParentBottom="8" VScrollBar="VScrollBar.xml"/>
</SkinDialog>

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

8.2.1设置是否为多行编辑框

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

8.2.2设置是否为富文本编辑框

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

8.2.3设置是否自动大写

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

8.2.4设置是否自动小写

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

8.2.5设置是否密码框

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

8.2.6设置是否为只读编辑框

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

8.2.7设置是否只允许输入数字

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

8.2.8设置字符数限制

  • 通过XML属性控制如下:
Limit="true"
  • 通过C++程序代码调用方法控制如下:
void SetLimit(LONG nLimit);

更详细的接口文档,请参考SkinEditView.h头文件。

8.3 下拉列表框

下拉列表框由CSkinComboBox类来代表,继承于CSkinRelativeLayout,支持CSkinRelativeLayout的所有属性和方法。CSkinComboBox通常由编辑框和按钮组合而成,并支持CSkinEditView的所有属性。

下拉列边框

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Icon="128" Caption="IDS_CONTROL_SHOW15" Animation="SizeChange">
    <SkinComboBox LayoutHeight="30" Layout="ComboBox.xml" Image="Edit.png" Tips="IDS_CONTROL_SHOW_TEXT15" OptionText="IDS_CONTROL_SHOW_TEXT20,IDS_CONTROL_SHOW_TEXT20,IDS_CONTROL_SHOW_TEXT20" UpperCase="true" AlignParentLeft="50" AlignParentRight="50" AlignParentTop="50"/>
    <SkinComboBox LayoutHeight="30" Layout="ComboBox.xml" Image="Edit.png" Tips="IDS_CONTROL_SHOW_TEXT16" OptionText="IDS_CONTROL_SHOW_TEXT20,IDS_CONTROL_SHOW_TEXT20,IDS_CONTROL_SHOW_TEXT20" LowerCase="true" AlignParentLeft="50" AlignParentRight="50" AlignParentTop="100"/>
    <SkinComboBox LayoutHeight="30" Layout="ComboBox.xml" Image="Edit.png" Tips="IDS_CONTROL_SHOW_TEXT17" OptionText="IDS_CONTROL_SHOW_TEXT20,IDS_CONTROL_SHOW_TEXT20,IDS_CONTROL_SHOW_TEXT20" Password="true" AlignParentLeft="50" AlignParentRight="50" AlignParentTop="150"/>
    <SkinComboBox LayoutHeight="30" Layout="ComboBox.xml" Image="Edit.png" Text="IDS_CONTROL_SHOW_TEXT18" OptionText="IDS_CONTROL_SHOW_TEXT20,IDS_CONTROL_SHOW_TEXT20,IDS_CONTROL_SHOW_TEXT20" ReadOnly="true" AlignParentLeft="50" AlignParentRight="50" AlignParentTop="200"/>
    <SkinComboBox LayoutHeight="30" Layout="ComboBox.xml" Image="Edit.png" Tips="IDS_CONTROL_SHOW_TEXT19" OptionText="IDS_CONTROL_SHOW_TEXT20,IDS_CONTROL_SHOW_TEXT20,IDS_CONTROL_SHOW_TEXT20" Number="true" AlignParentLeft="50" AlignParentRight="50" AlignParentTop="250"/>
</SkinDialog>

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

8.3.1设置可选项

  • 通过XML属性控制如下:
OptionText="男,女"
  • 通过C++程序代码调用方法控制如下:
LONG AddString(const tstring& str);

8.3.1设置当前选中

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

8.3.1设置列表最大高度

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