3

是否可以停止/抑制进度条的“脉冲”动画?(这是与 vista 主题 IIRC 一起介绍的)

我们有一个可由用户暂停的过程(以检查硬件或中间结果)。虽然有通常的“按下暂停按钮”反馈来传达状态,但进度条动画使它看起来像是进程仍在运行。

(简单的方法 - 隐藏进度条 - 不是最理想的,因为即使在暂停状态下,进度也有些相关。)

4

2 回答 2

3

由于您使用的是 Vista 版本的通用控件库中引入的进度条,因此您可以做得比简单地抑制动画效果更好。

进度条有三种状态:

  • 普通的正常进度条是绿色的
  • 暂停暂停的进度条是黄色的
  • 错误错误进度条为红色

PBM_SETSTATE您可以通过向进度条控制窗口发送消息来在状态之间切换。wParam参数应该PBST_NORMAL是、PBST_PAUSEDPBST_ERROR。该lParam参数应为 0。

对于暂停和错误状态,都会抑制脉冲动画。

要检索进度条的当前状态,请发送PBM_GETSTATE消息

于 2013-07-02T09:38:19.437 回答
1

问题不是很清楚,但听起来您以选取框模式显示进度条。“我没死,不知道要花多长时间,但正在努力”模式。通过打开 PBS_MARQUEE 样式标志启用。

您可以使用PBM_SETMARQUEE 消息控制动画。允许您完全关闭它或通过显着增加动画时间使其开始爬行。可能有点适合“暂停”模式。默认值为 30 毫秒,在 1000 毫秒时它看起来很诡异。完全冻结它不是一个选项,但没有用户会盯着它看 INT_MAX 毫秒。

于 2013-07-02T11:54:03.487 回答