答案 0 :(得分:3)
要获得所需的结果,您必须将标准Progress Bar的控件样式设置为PBS_MARQUEE。这可以通过对话框的资源脚本完成,也可以通过调用SetWindowLongPtr在运行时更改。
要启动和停止选框动画并控制其速度,请向控件发送PBM_SETMARQUEE消息。
使用此样式需要6.0版的常用控件。
要使用Comctl32.dll版本6,请在清单中指定它。有关清单的更多信息,请参阅Enabling Visual Styles。
示例代码:
LONG_PTR style = ::GetWindowLongPtrW( hWndPB, GWL_STYLE );
style &= ~( PBS_SMOOTH | PBS_SMOOTHREVERSE | PBS_VERTICAL); // Remove competing styles
style |= PBS_MARQUEE; // Add the marquee style
::SetWindowLongPtrW( hWndPB, GWL_STYLE, style );
::SendMessageW( hWndPB, PBM_SETMARQUEE, TRUE, 0 );
注意:您不能将选取框样式与垂直进度条控件一起使用。