零门槛替换!C++现代化Progress控件,颜值与性能双在线 为避免浪费大家时间先上效果图再讲实现原理最后奉上源码。很多人还在用老旧的Progress控件直接拉低软件竟争力现在只须几步就能做出与时俱进的进度条控件自带文本显示功能文本内容以及样式可自定颜色可自定对齐方式等等都可灵活调整。实现过程开发环境VS2019第三方库酷宝-001-先驱者 库来帮 www.kulb.cn接入方法我前面有讲这里不再重述。首先是须要用到的API介绍//配合“样式、控件的多种预配置”的API使用#defineKB_PROGRESS_STYLE10//样式1#defineKB_PROGRESS_STYLE21//样式2#defineKB_PROGRESS_STYLE32//样式3#defineKB_PROGRESS_STYLE43//样式4//当开启显示文本的时候在绘制文字时会通知父窗口 详情见00111 其中LPARAM就指向这个结构的地址typedef structKB_ProLoadinText{intnLower;//最小值intnUpper;//最大值intnPos;//进度条当前位置floatflPos;//进度条当前比例0-1 如果须要显示为百分比时须要乘以100WCHARwBuffer[MAX_PATH];//当前设置的文本 可自行修改KB_ProLoadinText(){nLowernUppernPos 0;flPos 0;ZeroMemory(wBuffer, sizeof(WCHAR) *MAX_PATH);}}KB_PRO_LOADIN_TEXT;//检查指定进度条进度文本是否显示 反回TRUE已显示 FALSE没显示//hWnd进度条句柄KBLIBRARYAPIBKB_GetProgressShowText(HWNDhWnd);//让指定进度条显示进度文本 成功反回TRUE 失败反回FALSE//hWnd进度条句柄//BShowTextTRUE时须要显示 FALSE不显示KBLIBRARYAPIBKB_SetProgressShowText(HWNDhWnd,BOOLBShowText);//调整进度文本的水平对齐方式 成功反回TRUE 失败反回FALSE//hWnd进度条句柄//dwHAlignment对齐方式 DT_LEFT(左对齐) DT_CENTER(居中对齐) DT_RIGHT(右对齐)KBLIBRARYAPIBKB_SetProgressTextHAlignment(HWNDhWnd,DWORDdwHAlignment);//调整进度文本的垂直对齐方式 成功反回TRUE 失败反回FALSE//hWnd进度条句柄//dwVAlignment对齐方式 DT_TOP(上对齐) DT_VCENTER(垂直居中对齐) DT_BOTTOM(底部对齐)KBLIBRARYAPIBKB_SetProgressTextVAlignment(HWNDhWnd,DWORDdwVAlignment);我们创建一个基于对话框的窗口程序。放置4个Progress控件高度尽可能拉大一点因为须要显示进度文本。这里须要注意样式1是根据控件大小来进行绘制的所以当显示文本时我们应该要动态调整样式1所对应控件的大小。这里我增加了自定义进度文本的显示可以自己设置文本的内容以及内显示风格。我增加了自定文本颜色的显示具体代码大家可自行查看源码。