本文實例講述了VC進度條的用法實例,分享給大家供大家參考。具體實現(xiàn)代碼如下:
#include "resource.h"
#include <Commctrl.h>
//對話框函數(shù)
INT_PTR CALLBACK DialogProc(
__in HWND hwndDlg,
__in UINT uMsg,
__in WPARAM wParam,
__in LPARAM lParam
)
{
switch (uMsg)
{
case WM_INITDIALOG:
{
//初始化進度條控件
HWND hWndProcess = ::GetDlgItem(hwndDlg, IDC_PROGRESS1);
//設(shè)置范圍(0, 100)
::SendMessage(hWndProcess, PBM_SETRANGE, 0, MAKELPARAM(0, 100));
//設(shè)置步進大小
::SendMessage(hWndProcess, PBM_SETSTEP, 2, 0);
//設(shè)置背景色
::SendMessage(hWndProcess, PBM_SETBKCOLOR, 0, RGB(0,0,0xff));
//設(shè)置進度條顏色
::SendMessage(hWndProcess, PBM_SETBARCOLOR, 0, RGB(0xff,0,0));
}
break;
case WM_COMMAND:
{
switch(LOWORD(wParam))
{
case IDOK:
{
//增加進度值, 增加的數(shù)值為前面設(shè)置的步長值
::SendDlgItemMessage(hwndDlg, IDC_PROGRESS1, PBM_STEPIT, 0, 0);
}
break;
case IDCANCEL:
::EndDialog(hwndDlg, IDCANCEL);
return 0;
}
}
break;
}
return 0;
}
int WINAPI WinMain(
__in HINSTANCE hInstance,
__in HINSTANCE hPrevInstance,
__in LPSTR lpCmdLine,
__in int nCmdShow
)
{
::DialogBoxParam(hInstance, (LPCTSTR)IDD_MAIN, NULL, DialogProc, NULL);
return 0;
}
希望本文所述對大家的VC++程序設(shè)計有所幫助。