我是在
CMyButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) 里画按纽
在CSoftFaceDlg::OnEraseBkgnd(CDC* pDC) 里画对话框背景的
还有,如何在移动完对话框后进行重绘啊?
我在CSoftFaceDlg::OnEraseBkgnd里设置了背景图片(部分透明),可移
动对话框后,透明的部分仍然是原来的内容啊~
一个问题20分,谢谢指点一下啊? ^_^

解决方案 »

  1.   

    OnEraseBkgnd在你自绘后有没有
    return TRUE;
      

  2.   

    如果有透明的部分,需要SetWindowRgn设置不透明区域
      

  3.   

    有return TRUE 啊,我是用别人的CBackgroundUtil类改的
    BOOL CSoftFaceDlg::OnEraseBkgnd(CDC* pDC) 
    {
    CRect rc;
    GetClientRect(rc);
    if (TileBitmap(pDC, rc) == TRUE) return TRUE; //这里就是画对话框背景
    else return CDialog::OnEraseBkgnd(pDC);
    }
      

  4.   

    如果有透明的部分,需要SetWindowRgn设置不透明区域,否则透明的部分仍然会自画
      

  5.   

    我的按纽是图片,背景也是图片, 用SetWindowRgn设置按纽属于自己的区域,还是不行的