MFC进度条控件CProgressCtrl实现进度滚动效果
来源:互联网 发布:图像处理区域填充算法 编辑:程序博客网 时间:2024/05/16 05:44
关于CProgressCtrl 控件的基本操作网上有很多资料,可我想实现进度条中进度滚动效果,即很多时候程序出现的等待或启动画面,如下图:
在网上搜索半天发现了了这个方法:CProgressCtrl::SetMarquee(_In_ BOOL fMarqueeMode, _In_ int nInterval),第一个参数为开关,第二个参数指定滚动时间。可实际运行时发现不管作用,后来才发现在如果要使用这种效果的话必须指定PBS_MARQUEE风格,可MSDN上关于SetMarquee()成员的描述根本没提这个,只有在MSDN上win32的Progress Bar Control Styles才发现了这个提示,看来以后得多看看win32控件说明了。
所以完全的代码应该是:m_ProgressCtl.Create(WS_CHILD|WS_VISIBLE|PBS_MARQUEE,CRect(100,200,250,230),this,11);
m_ProgressCtl.SetMarquee(TRUE, 30);
而如果使用win32的Progress Bar进度条控件PBS_MARQUEE风格的话还需要指定程序使用的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
- MFC进度条控件CProgressCtrl实现进度滚动效果
- MFC-CProgressCtrl进度条控件
- MFC----windows控件----进度条控件(CProgressCtrl)
- MFC 之进度条CProgressCtrl
- MFC 之进度条CProgressCtrl
- MFC 之进度条CProgressCtrl
- 控件 CProgressCtrl 进度条
- 进度条控件使用简介(CProgressCtrl)
- CProgressCtrl 进度条控件的使用方法简单介绍
- CProgressCtrl 进度条
- VC MFC进程条(CProgressCtrl)控件
- MFC定时器使用--SetTimer && KillTimer && 进度条CProgressCtrl
- CProgressCtrl 进度条的使用
- 利用CProgressCtrl制作进度条
- CProgressCtrl进度条 使用方法总结
- "-"进度条(CProgressCtrl)汇总文件
- 自定义textview控件实现文字滚动效果
- 自定义控件:实现半圆滚动菜单效果
- windows快捷键
- 测试csdn博客能否在移动端显示
- SystemC分析(1)-基本数据类型的实现
- hdu 1.3.2 排名
- IOS毛玻璃效果
- MFC进度条控件CProgressCtrl实现进度滚动效果
- 数据挖掘的基本过程
- 内存管理高级
- Android 百度地图SDK v_3_4_0学习笔记(一)环境搭建
- Effective C++读书笔记-----条款20:宁以pass-by-reference-to-const替换pass-by-value
- Jackson2笔记
- C语言中#,##和#@
- hdu5534 Partial Tree 完全背包
- 数组的详细使用及冒泡排序方法