//设置进度条的颜色
hwndProgress = GetDlgItem(hwnd, IDP_PROGRESS);
SendMessage(hwndProgress, PBM_SETBARCOLOR, NULL, RGB(203,221,241));
SendMessage(hwndProgress, PBM_SETBKCOLOR, NULL, RGB(136,167,196)); //进度条背景颜色
//去掉进度条边框
SetWindowLong(hwndProgress, GWL_EXSTYLE, GetWindowLong(hwndProgress, GWL_EXSTYLE)&~(WS_EX_STATICEDGE));
//设置进度条的范围
SendMessage(hwndProgress, PBM_SETRANGE32, (WPARAM)0, (LPARAM)(30));
RECT rect;
GetClientRect(hwnd, &rect);
MoveWindow(hwndProgress, 0, 180, rect.right-rect.left, 1, TRUE);
SendMessage(hwndProgress, PBM_DELTAPOS, (WPARAM)(1), (LPARAM)0); //当前步增量
PBRANGE range; //进度条的范围
HWND hDlgProgress = GetDlgItem(g_hDlg, IDP_DLG_PROGRESS);
//设置进度条的范围
SendMessage(hDlgProgress, PBM_SETRANGE32, (WPARAM)0, (LPARAM)dwContentLen);
//获取进度条的范围..TRUE表示上限,FALSE表示下线
SendMessage(hDlgProgress, PBM_GETRANGE, (WPARAM)TRUE, (LPARAM)&range);
//取得进度条当前位置
if(SendMessage(hDlgProgress, PBM_GETPOS, (WPARAM)0, (LPARAM)0) == range.iHigh)
{
SendMessage(hDlgProgress, PBM_SETPOS, (WPARAM)range.iLow, (LPARAM)0); //将进度条复位
}