魔兽贱队 发表于 2017-6-2 13:28:07

process Bar的使用

VC进度条的使用
#include <Windows.h>
#include "resource.h"
#include <Commctrl.h>
//对话框函数
INT_PTR CALLBACK DialogProc(
        __inHWND hwndDlg,
        __inUINT uMsg,
        __inWPARAM wParam,
        __inLPARAM lParam
        )
{
        switch (uMsg)
        {
        case WM_INITDIALOG:
                {
                        //初始化进度条控件
                        HWND hWndProcess = ::GetDlgItem(hwndDlg, IDC_PROGRESS1);
                        //设置范围(0, 100)
                        ::SendMessage(hWndProcess, PBM_SETRANGE, 0, MAKELPARAM(0, 100));
                       
                        //设置步进大小
                        ::SendMessage(hWndProcess, PBM_SETSTEP, 2, 0);
                        //设置背景色
                        ::SendMessage(hWndProcess, PBM_SETBKCOLOR, 0, RGB(0,0,0xff));
                        //设置进度条颜色
                        ::SendMessage(hWndProcess, PBM_SETBARCOLOR, 0, RGB(0xff,0,0));

                }
                break;
        case WM_COMMAND:
                {
                        switch(LOWORD(wParam))
                        {
                        case IDOK:
                                {
                                        //增加进度值, 增加的数值为前面设置的步长值
                                        ::SendDlgItemMessage(hwndDlg, IDC_PROGRESS1, PBM_STEPIT, 0, 0);
                                }
                                break;
                        case IDCANCEL:
                                ::EndDialog(hwndDlg, IDCANCEL);
                                return 0;
                        }
                }
                break;
        }
        return 0;
}




int WINAPI WinMain(
        __inHINSTANCE hInstance,
        __inHINSTANCE hPrevInstance,
        __inLPSTR lpCmdLine,
        __inint nCmdShow
        )
{
        ::DialogBoxParam(hInstance, (LPCTSTR)IDD_MAIN, NULL, DialogProc, NULL);

        return 0;
}
页: [1]
查看完整版本: process Bar的使用