MFC Dialog做的一个小游戏,在onpaint()函数里用双缓存来显示图片,添加了一个Edit控件来显示时间,当鼠标移动到控件上得时候,图片就没了,求解释!!!!

解决方案 »

  1.   

    说清楚了 就这些东西鼠标移动到Edit控件上,OnPaint()里绘制的图片就消失了
      

  2.   

    不会吧,edit是你自己写的?还是对edit做了什么处理?
      

  3.   

    就工具栏新建了Edit
    然后调用GetDlgItem(IDC_EDIT1)->SetWindowTextW(str)输入信息
    没做其他处理
      

  4.   

    void CCreatePlayerDlg::OnPaint()
    {
    CPaintDC dc(this); // device context for painting
    // TODO: 在此处添加消息处理程序代码
    // 不为绘图消息调用 CDialog::OnPaint()
    CDC *pDC;
    pDC=GetDC();
    Bitmap CatchImage(1024,768);
    Graphics g(pDC->m_hDC)
        ,buffer(&CatchImage);
    buffer.Clear(Color::Transparent);
    buffer.DrawImage(m_ImRole1,m_RectClient.left+100,m_RectClient.top+350,180,200);
        buffer.DrawImage(m_ImRole2,m_RectClient.left+350,m_RectClient.top+350,180,200);
    buffer.DrawImage(m_ImRole3,m_RectClient.left+600,m_RectClient.top+350,180,200);
    buffer.DrawImage(m_ImRolePlayer,m_RectClient.left+100,m_RectClient.top+30,0,0,180,200,UnitPixel);
    switch  (m_statslect)
    {
    case 1:
    buffer.DrawImage(m_ImRoleSelect,m_RectClient.left+100,m_RectClient.top+350,180,200);
    break;
    case 2:
    buffer.DrawImage(m_ImRoleSelect,m_RectClient.left+350,m_RectClient.top+350,180,200);
    break;
    case 3:
    buffer.DrawImage(m_ImRoleSelect,m_RectClient.left+600,m_RectClient.top+350,180,200);
    break;
    default:
    break;
    }
    g.DrawImage(&CatchImage,0,0);
    }
      

  5.   

    对,我在OnEraseBkgnd()函数中已经绘制背景图了