处理代码如下: 
CProgressCtrl myCtrl;
CS3C2UpDateDlg* pParentWnd = (CS3C2UpDateDlg*)theApp.GetMainWnd();  // Create a child progress control.
 myCtrl.Create(WS_CHILD|WS_VISIBLE, CRect(100,100,200,30), pParentWnd, IDC_PROGRESS1);
 myCtrl.SetRange(0,100);
 // Set the new position to half of the current position.
     myCtrl.SetPos( 0);
       for (int i = 0; i < 5000; i++) {
    myCtrl.StepIt();
 } 
但是进度调仍没什么反应,大家帮忙啊。工程作不出来,心情糟糕。女朋友要丢了,心情更糟糕。郁闷:(

解决方案 »

  1.   

    BOOL CTreandDlg::OnInitDialog()
    {
        //在对话框初始化涵数内添加这三条语句.
        //m_progress1这是进度条控件变量.
        m_progress1.SetRange(0,100);
        m_progress1.SetPos(0);
        SetTimer(1,100, 0);
        //自己生成的代码省略.
        //...
    }
    //然后用类向导添加一个WM_TIMER消息涵数,在涵里写以下代码.
    void CTreandDlg::OnTimer(UINT nIDEvent) 
    {
         // TODO: Add your message handler code here and/or call default
        if((iPos=m_progress1.GetPos())<100)
    {
    iPos++;
    m_progress1.SetPos(iPos);
    }
    else
    KillTimer(1);
    CDialog::OnTimer(nIDEvent);
    }
      

  2.   

    VCSQLVB(九龙.君威):还是不行?:(
      

  3.   

    VCSQLVB(九龙.君威):还是不行,老大
      

  4.   

    进度条更改后,需要更新一下,试试UpdateWindow()
    或者把整个对话框刷新一次
      

  5.   

    mynamelj(风之羽翼) :在进入对话框初始化涵数前
    BOOL CS3C2UpDateApp::InitInstance()中添加的代码,
    所以没法安你的思路作。
      

  6.   

    没这严重吧,一个进度条写不出来就要失去女朋友了???
    对了还有如果你的进度条不用时间来控制的话而用for()控制的话你是看不到过程的,对话框一打开你的,进度条已经到了终点了...
      

  7.   

    CS3C2UpDateDlg* pParentWnd = (CS3C2UpDateDlg*)theApp.GetMainWnd();
     myCtrl.Create(WS_CHILD|WS_VISIBLE, CRect(100,100,200,30), pParentWnd, IDC_PROGRESS1);
    这两句的问题
      

  8.   

    mynamelj(风之羽翼):唉,老兄你有所不知。我刚进公司实习,没几天,女朋友就快丢了。两件事赶到一块了。痛苦呵。
      

  9.   

    我已经写得很详细了,::InitInstance()涵数里面初始化进度条的位置为0然后设置它的长度是
    从0到100,再设置时间SetTimer(1,100, 0)是在100毫秒执行一次.
      

  10.   

    mynamelj(风之羽翼) :如您所说,还是不行。
      

  11.   

    也就是:
       myCtrl.Create(WS_CHILD|WS_VISIBLE, CRect(100,100,200,30), pParentWnd, IDC_PROGRESS1);
      中的CRect(100,100,200,30)参数的设定问题。
      

  12.   

    初始进度条也可以放在其它地方,不一定要放在::InitInstance()这个涵数里面!
      

  13.   

    实际上我这个程序在::InitInstance()中结束的。我就借用了一个框架而已。
      

  14.   

    //Sleep()你可以用这个涵数!
    //这段语句随便你放在那里都可以.
    m_progress1.SetRange(0,100);
    m_progress1.SetPos(0);
    static int iPos;
    for(iPos=m_progress1.GetPos();iPos<100;iPos++)
    {
        m_progress1.SetPos(iPos);
        Sleep(1000); //设置时间
    }