如何利用CopyFileEx把c盘的APLE.EXE文件复制到D盘下,显示一个进度条,我不会使用进度条,所以请给个源代码,谢谢了。。

解决方案 »

  1.   

    我觉得楼主主要是不会用回调函数吧
    看看这个
    http://www.51test.net/show/309388.html
      

  2.   

    进度条控制的操作方法主要是使进度条控制并重绘进度条的StepIt函数。
    进度条控制的应用技巧示例
    1、利用应用程序向导AppWizard生成基于对象框的应用程序CProgDlg;
    2、在对话框中设置进度条和静态文本控制,其ID分别为IDC_PROG和IDCPERCENT;
    在对话框初始代码中增加控制的范围和位置:
    在ProgDlg.h中设置两个数据成员,用来表示进度条的最大值和步长:
    //ProgDlg.h
    class CProgDlg:public Cdialog
    { ......//其它代码
    public:
    int m_nMax,m_nStep;
    ...... //其它代码
    }
    (2)在ProgDlg.cpp中设置初始状态
    BOOL CProgDlg::OnInitDialog()
    { Cdialog::OnInitDialog();
    ......//其它代码
    //TODO:Add extra initialization here
    CProgressCtrl *pProgCtrl=(CProgressCtrl*)GetDlgItem(IDC_PROG);
    pProgCtrl->SetRange(0,200);//设置进度条范围
    ......//其它代码
    m_nMax=200;
    m_nStep=10;
    SetTimer(1,1000,NULL);//设置进度条更新时钟
    return TRUE;
    }
    (3)完善WM_TIMER消息处理,使进度条按照当前步长进行更新,同时完成进度条的百分比显示:
    void CProgDlg::OnTimer(UINT nIDEvent)
    { //TODO:Add your message handler
    CProgressCtrl *pProgCtrl=(CProgressCtrl*)GetDlgItem(IDC_PROG);
    int nPrePos=pProgCtrl->StepIt();//取得更新前位置
    char test[10];
    int nPercent=(int)(((nPrePos+m_nStep)/m_nMax*100+0.5);
    wsprintf(test,%d%%,nPercent);
    GetDlgItem(IDC_PERCENT)->SetWindowText(text);
    Cdialog::OnTimer(nIDEvent);
      

  3.   

    http://apps.hi.baidu.com/share/detail/6078684
      

  4.   

    SHFileOperation
    不用自己实现进度
      

  5.   

    用SHFileOperation直接使用Windows的那个标准的copyfile窗口,上面可以显示进度条的