欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > Windows图形界面(GUI)-DLG-C/C++ - 进度条(ProgressBar)

Windows图形界面(GUI)-DLG-C/C++ - 进度条(ProgressBar)

2025/2/23 15:02:32 来源:https://blog.csdn.net/2301_80612536/article/details/140530780  浏览:    关键词:Windows图形界面(GUI)-DLG-C/C++ - 进度条(ProgressBar)
  • 公开视频 -> 链接点击跳转公开课程
  • 博客首页 -> ​​​​​​链接点击跳转博客主页

目录

进度条(ProgressBar)

使用场景

初始控件

控件消息

示例代码


进度条(ProgressBar)

使用场景
  • 文件下载或上传时显示进度。
  • 长时间运行的操作,如数据处理或搜索任务。
  • 表示安装程序的安装进度。
初始控件
  • 进度长度 - PBM_SETRANGE
  • 进度步长 - PBM_SETSTEP
  • case WM_INITDIALOG:
    {HWND hProgress = GetDlgItem(hDlg, IDC_MYPROGRESS);SendMessage(hProgress, PBM_SETRANGE, 0, MAKELPARAM(0, 100)); // 进度范围从0到100return (INT_PTR)TRUE;
    }
    
控件消息
  • 设置进度条的当前位置 - PBM_SETPOS。
// 设置进度条的位置到50%
SendMessage(hProgress, PBM_SETPOS, (WPARAM)50, 0);
示例代码
HWND hProgress;
void UpdateMemoryInfo()
{MEMORYSTATUSEX memInfo = { 0 };memInfo.dwLength = sizeof(MEMORYSTATUSEX);GlobalMemoryStatusEx(&memInfo);DWORDLONG totalMem = memInfo.ullTotalPhys;DWORDLONG useMem = totalMem - memInfo.ullAvailPhys;DWORDLONG percent = useMem * 100 / totalMem;SendMessage(hProgress, PBM_SETPOS, (WPARAM)percent, 0);
}case WM_INITDIALOG:{// 初始环境INITCOMMONCONTROLSEX initComm = { 0 };initComm.dwSize = sizeof(INITCOMMONCONTROLSEX);initComm.dwICC = ICC_WIN95_CLASSES;InitCommonControlsEx(&initComm);// 初始控件hProgress = GetDlgItem(hwnd, IDC_PROGRESS3);SendMessage(hProgress, PBM_SETRANGE, 0, MAKELPARAM(0, 100));#define IDT_UPDATA_TIMER 1000SetTimer(hwnd, IDT_UPDATA_TIMER, 1000, NULL);return TRUE;}case WM_TIMER:{switch (wParam){case IDT_UPDATA_TIMER:{INT nPos = SendMessage(hProgress, PBM_GETPOS, 0, 0);nPos = (nPos + 10) % 100;SendMessage(hProgress, PBM_SETPOS, (WPARAM)nPos, 0);//UpdateMemoryInfo();break;}}return TRUE;}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词