在xxxview中添加了onPaint()绘图,
在别的电脑上可以,但是自己的电脑上就是一直在等待显示窗口,鼠标一直是转圈的等待,没法点击窗口

解决方案 »

  1.   

    死循环,是不是程序什么地方在反复调用onPaint()
      

  2.   

    都是win7的机子void CimgMFCView::OnPaint() 
    {
    CPaintDC dc(this); // device context for painting CimgMFCDoc* pDoc = GetDocument(); 
    ASSERT_VALID(pDoc); //if open a file
    if((pDoc->flagOpen==1))
    {
       
    SetDIBitsToDevice(dc.m_hDC,          //DIB as output device
      300,               //
      100,               //
                  pDoc->bitInfoHead.biWidth,  //DIB width
                  pDoc->bitInfoHead.biHeight, //DIB height
                      0,                 //DIB output x postion
                      0,                 //DIB output y postion
                      0,                 //
                  pDoc->bitInfoHead.biHeight, //
                  pDoc->imgData,       //
                       pDoc->bitInfo,         //
                  DIB_RGB_COLORS);   //                 
    }
    Invalidate(FALSE);
    }我写的onpaint,放在xxxView里面的
      

  3.   

    在OnPaint里面,事件结束后,重画窗口结束,而函数Invalidate使窗口再次重画,
    这样就陷入了无限循环.可以看看msdn关于WM_PAINT 消息的说明.