zoukankan      html  css  js  c++  java
  • CProgressCtrl进度条控件实现进度滚动效果

    关于CProgressCtrl 控件的基本操作网上有很多资料,可我想实现进度条中进度滚动效果,即很多时候程序出现的等待或启动画面,如下图:

    实现这个效果的函数为SetMarquee(_In_ BOOL fMarqueeMode, _In_ int nInterval),第一个参数为开关,第二个参数指定滚动时间。且控件应该包含
    PBS_MARQUEE风格,eg:
    m_ProgressCtl.Create(WS_CHILD|WS_VISIBLE|PBS_MARQUEE,CRect(100,200,250,230),this,11);
    m_ProgressCtl.SetMarquee(TRUE, 30);

    如果在win32下使用带PBS_MARQUEE风格的Progress Bar进度条控件的话还需要指定程序使用的ComCtl32库的版本必须为6.0或以上,因为这个控件库会随
    着Internet Explorer发布,所以当前活动的ComCtl32版本很可能与操作系统的版本不一样,所以我们应该手动指定程序使用的ComCtl32版本:

    #if defined _M_IX86
    #pragma comment(linker, "/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"")
    #elif defined _M_IA64
    #pragma comment(linker, "/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'"")
    #elif defined _M_X64
    #pragma comment(linker, "/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"")
    #else
    #pragma comment(linker, "/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"")
    #endif

    我们在创建MFC项目的时候会看到有一个“Common control manifest”选项,如果我们去掉选择它的话会发现程序的一些控件都是一些老式风格,这其
    实就是使用了低版本的ComCtl32库,所以在win32中,如果想要控件风格为新的系统风格那么应该指定使用的ComCtl32版本。

    win32控件一览:https://msdn.microsoft.com/en-us/library/bb773169(v=vs.85).aspx

  • 相关阅读:
    最新国家标准下载(2020-7-31)
    SL/T 264-2020 水利水电工程岩石试验规程
    SH/T 3082-2019 石油化工仪表供电设计规范
    GB/T 4780-2020 汽车车身术语
    Java——冒泡排序
    JSP处理XML数据
    JSP标准标签库(JSTL)
    千锤百炼软工第十九天
    千锤百炼软工第十八天
    千锤百炼软工第十七天
  • 原文地址:https://www.cnblogs.com/milanleon/p/5630799.html
Copyright © 2011-2022 走看看