在onpain()函数中写入一段矩形代码,但是没有显示,为什么?
看了一下,在onpain()也没有说在什么地方加Add extra initialization here,不知道该写到什么地方

解决方案 »

  1.   

    给它增加WM_ERASEBKGND消息处理
    BOOL CxxxDlg::OnEraseBkgnd(CDC* pDC) 
    {
    srand( (unsigned)time( NULL ) );
    int color1 = rand()%256;
    int colorg = rand()%256;
    int colorb = rand()%256;
    CBrush brush;
    brush.CreateSolidBrush(RGB(color1,colorg,colorb));
    RECT rc;
    GetClientRect(&rc);
    pDC->FillRect(&rc,&brush);
    return TRUE;
    }
      

  2.   

    就在onpain()里面,可能你的矩形代码写得有问题
      

  3.   

    在OnPaint中肯定可以的。
    注意MFC默认添加的OnPaint代码中有一个If语句,
    如果IF成立,它处理的是窗口最小化时的情形;
    如果If不成立,处理的才是正常窗口。
    你要加代码必须加对位置