CDialog Child 窗口加到PopUp窗口后在CChildDlg::OnEraseBkgnd自绘背景,如何实现?
添加了ON_WM_ERASEBKGND(),CFrmTopMenu::OnEraseBkgnd(CDC* pDC),没有作用。如果不是Style=Child,那就可以,可是那就不能把这个窗口加到父窗口中作为控件使用了。

解决方案 »

  1.   

    就在子对话框中响应WM_ERASEBKGND
      

  2.   

    我就是这么做的,可是他就是没啥反应,你可以试试,如果不是这个Child 类型,就能响应。
      

  3.   

    主对话框(popup)产生子对话框:
    m_pChildDlg=0;
    m_pChildDlg=new CChildDlg;
    m_pChildDlg->Create(IDD_DIALOG1,this);
    m_pChildDlg->ShowWindow(SW_SHOW);
    //CChildDlg *m_pChildDlg;
    //
    void CChildDlg::OnOK() 
    {
    // TODO: Add extra validation here
    CDlgindlgDlg *pParent=(CDlgindlgDlg *)GetParent();
    CDialog::OnOK();
    pParent->EndDialog(0);
    }没问题的
      

  4.   

    子对话框自然能添加到父对话框中,是OnEraseBkgnd,OnPaint时没效果
      

  5.   

    就在子对话框中响应WM_ERASEBKGND