{
m_Edit1 ="";   //  为何不能立即清空,而要经下面延时后,才执行此句
Updatedata(false);
    unsigned int i,j;     //如何才能按我本意,先清空,后延时
    Sleep(3000);}

解决方案 »

  1.   

    可以试试 GetDlgItem(你的EDIT资源号)->SetWindowText("")
      

  2.   

    我的代码Sleep(3000);
    GetDlgItem(EDIT资源号)->SetWindowText("");
    为何报错,我是新手,请赐教,另我还没学会给分,过几天请人教了再给分C2664: 'class CWnd *__thiscall CWnd::GetDlgItem(int) const' : cannot convert parameter 1 from 'class CString' to 'int'
            No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
    C:\WINDOWS\Desktop\New Folder (2)\HHHDlg.cpp(533) : error C2227: left of '->SetWindowTextA' must point to class/struct/union
    mscomm.cpp
    Generating Code...
    Error executing cl.exe.
      

  3.   

    资源号填错了吧,要填你的EDIT框的资源号,一般都是IDC_开头的,右键点击菜单可以自己设置的
      

  4.   

    错误提示的意思是:
    你把一个csrting 对象传递进去了,但应该把一个int 形的传进去
      

  5.   

    要改EDIT框中的字体颜色,可以这样试试
    CPaintDC dc(GetDlgItem(你的资源号));
    COLORREF FGclr = RGB(你要的颜色);
    dc.SetTextColor(FGclr);
    这段程序在OnPaint()中实现,如果写在别的地方,可能要手动刷新的,用Invalidate()或者得到你EDIT框的rect,再用InvalidateRect(EDIT框的rect)
      

  6.   


    1 我就是要在其他地方改EDIT颜色,能否详细赐教,谢谢
    2 各位好心朋友,你们是对的,我把资源号写错了.但为何不能立即清空,而要先延时?应该按程序顺序执行呀?
    我的程序:
    GetDlgItem(IDC_EDIT_SDIS1)->SetWindowText("");
    Sleep(3000);
      

  7.   

    我会用Timer了,谢谢但:
    程序这样写,能先清空EDIT中内容,然后延时3000ms;
    m_edit="";
            UupdateData(false);
    MessageBox("qqqqq!");
    Sleep(3000);
    而下面程序这样写能,则不能先清空EDIT中内容,而是SLEEP后才清空,why?似乎与MessageBox所处位置有关, 即MessageBox出现前一刻才清空(不论用望SLEEP或Time都是这样),但我程序需这样写,同时又希望SLEEP之前清空,怎样实现?
    m_edit="";
           UupdateData(false);
    Sleep(3000);
    MessageBox("qqqqq!");