有没有可能停止/抑制进度条中“脉冲”动画效果?(我记得这是在vista主题中引入的)我们有一个可以被用户暂停的流程(以检查硬件或中间结果),虽然通常会有“暂停按钮已按下”的反馈,但进度条动画效果让它看起来像是流程仍在运行。(简单的方法-隐藏进度条 - 不是最佳选择,因为即使在暂停状态下进度仍然有一定的相关性。)
由于您正在使用引入自Vista版本通用控件库的进度条,因此可以比仅仅禁止动画更好地进行操作。
进度条具有三种状态:
您可以通过向进度条控件窗口发送PBM_SETSTATE
消息来在这些状态之间切换。 wParam
参数应为PBST_NORMAL
、PBST_PAUSED
或PBST_ERROR
之一。 lParam
参数应为0。
脉冲动画对于暂停和错误状态都被抑制了。
要检索进度条的当前状态,请发送PBM_GETSTATE
消息。
从问题中并不是很清楚,但听起来你正在以跑马灯模式显示进度条。 这是“我还活着,不知道需要多长时间但正在处理”的模式。 通过打开PBS_MARQUEE样式标志启用。
您可以使用PBM_SETMARQUEE消息控制动画。 允许您完全关闭它或显着增加动画时间,使其开始爬行。 对于“暂停”模式可能有些合适。 默认值为30毫秒,在1000毫秒时看起来相当缓慢。 完全冻结它并不是一个选项,但没有用户会盯着它看INT_MAX毫秒。