OnButton1()中有如下语句(VC6.0)
m_state="正在进行计算......"; //m_state是edit控件的Member Variable  UpdateData(FALSE);
......调用一个dll
m_state="计算完毕"
UpdateData(FALSE);为什么按下button1后我看不到“正在进行计算......”字样,只能看到“计算完毕”字样,我该怎么做才能看到“正在进行计算......”字样???
曾在第一个UpdateData(FALSE);语句后加入
CEvent wait;
WaitForSingleObject(wait,5000);
这两句,可是还是显示不出"正在嵌入信息......"字样 

解决方案 »

  1.   

    CString str;
    str.Format("正在进行计算");
    m_state.UpdateWindow(); //m_state是控件的变量
      

  2.   

    m_szTemp.Format("%s\n","Please waiting...");
    UpdateData(FALSE);
    m_edtTemp.UpdateWindow();
    for(int i=0;i<100000000;i++);
    m_szTemp = _T("calc complete!");
    UpdateData(FALSE);
    m_szTemp是CEdit控件CString变量
    m_edtTemp是CEdit控件的Control变量
      

  3.   

    照楼上两位的方法还是不行呀!
    为什么能看到“计算完毕”字样,而看不到“正在进行计算......”字样???此外,我的问题中
    m_state="正在进行计算......"; //m_state是edit控件的Member Variable  UpdateData(FALSE);----》应该是UpdateData(FALSE);
      

  4.   

    没有留出显示更新的时间。
    m_state="正在进行计算......"; //m_state是edit控件的Member Variable  
    UpdateData(FALSE);
    GetDlgItem(edit_ID)->UpdateWindow();
    ......调用一个dll
    m_state="计算完毕"
    UpdateData(FALSE);
      

  5.   

    楼上的方法果真有效
    “Mackz(在相互)”大侠:
    为什么GetDlgItem(edit_ID)->UpdateWindow();就留出了显示更新的时间

    m_state.UpdateWindow(); //m_state是控件的Control变量
    就不行呢
    一搞清楚,马上结贴!!谢谢
      

  6.   

    我试过可以的啊
    UpdataWindow是刷新窗口的客户区
      

  7.   

    那就奇怪了,我又试了一遍,再我的程序中,GetDlgItem(edit_ID)->UpdateWindow();就管用,而m_state.UpdateWindow(); //m_state是控件的Control变量
    就不行,怎么回事,这2个有什么区别呀?
      

  8.   

    m_state="正在进行计算......";我以为你的这个m_state是控件的字符串变量,而不是控件类型变量。
      

  9.   

    m_state就是控件类型变量呀。
      

  10.   

    那么这个赋值语句怎么会编译通过?
    m_state="正在进行计算......";
    到底m_state是什么类型的变量?是CString还是CEdit?
      

  11.   

    首先谢谢 Mackz(在相互)大侠不厌其烦的回复
    不好意思,写错了,其实我是设了2个变量,一个m_state是CString型,另一个m_control是CEdit类型的,所以应该是
    m_state="正在进行计算......"; //m_state是edit控件的Member Variable  
    UpdateData(FALSE);
    m_control.UpdateWindow();//这样不行,改成GetDlgItem(edit_ID)->UpdateWindow();就行
    ......调用一个dll
    m_state="计算完毕"
    UpdateData(FALSE);