Skip to content

进度条控件 (SProgress)

Warning

The current page still doesn't have a translation for this language.

You can read it through google translate.

进度条是用于显示操作或任务进度的可视化控件,支持水平和垂直两种方向,以及多种显示样式。

基本信息

  • 类名SProgress
  • 控件标签progress
  • 基类SWindow
  • 功能:显示进度信息

属性说明

基本属性

属性名 类型 默认值 说明
value int 0 当前进度值
min int 0 最小值
max int 100 最大值
vertical bool 0 是否垂直显示(0-水平,1-垂直)
showPercent bool 0 是否显示进度文字(0-不显示,1-显示)

外观属性

属性名 类型 默认值 说明
bkgndSkin string - 背景皮肤
posSkin string - 数值显示皮肤
colorBkgnd color - 背景颜色
colorPos color - 进度颜色

使用示例

基本进度条

``xml

### 垂直进度条
``xml
<progress name="progressVertical" 
          pos="10,40,30,140" 
          vertical="1" 
          value="75"/>

带百分比显示的进度条

``xml

### 自定义皮肤的进度条
``xml
<progress name="progressStyled" 
          pos="10,180,210,200" 
          value="60"
          bkgndSkin="skin_progress_bkgnd"
          posSkin="skin_progress_pos"/>

事件处理

进度条控件通常作为显示控件使用,较少触发事件。但可以通过代码监听值变化:

``cpp // 事件处理示例 void UpdateProgress(int nValue) { SProgress *pProgress = FindChildByName2(L"progressBasic"); if(pProgress) { pProgress->SetValue(nValue); } }

## 代码操作

``cpp
// 查找进度条控件
SProgress *pProgress = FindChildByName2<SProgress>(L"progressBasic");

// 设置进度值
pProgress->SetValue(75);

// 获取当前值
int nValue = pProgress->GetValue();

// 设置范围
pProgress->SetRange(0, 200);

// 获取范围
int nMin, nMax;
pProgress->GetRange(&nMin, &nMax);

最佳实践

  1. 合理设置范围:根据实际需要设置合适的 minmax
  2. 适时更新:在长时间操作中定期更新进度值,给用户良好反馈
  3. 视觉反馈:使用 showPercent 属性显示具体数值
  4. 皮肤定制:通过 bkgndSkinposSkin 属性定制外观

常见问题

Q: 进度条不显示百分比怎么办?

A: 检查是否设置了 showPercent 属性为 1。

Q: 进度条显示异常怎么办?

A: 确保 valueminmax 范围内。

Q: 垂直进度条方向不对怎么办?

A: 检查 vertical 属性是否设置为 1。

相关控件