tabcontrol控件中加入了一个属性页对话框,现在我想改变这个对话框的背景色,使之与主窗体背景色一致,应该如何操作,恳请各位大神尽量说的详细一些,感激不尽!

解决方案 »

  1.   

    你的对话框类中除了WM_ERASEBKGND消息,或者直接在WM_PAINT中贴图~
      

  2.   

    CRect rect;  
    GetClientRect(rect);  
    rect.top += 100;
        rect.bottom -= 20;
        //rect.left += 1;
       // rect.right -= 2;
    m_tab.MoveWindow(rect);   
    m_tab.InsertItem(0, __T("根据分数线选学校"));
    m_tab.InsertItem(1, __T("根据高校选专业"));
    m_tab.InsertItem(4, __T("根据专业选高校"));
    m_tab.InsertItem(5, __T("高校录取分数线查询")); int x;  
    x = (rect.Width()-10)/m_tab.GetItemCount();  
    m_tab.SetItemSize(CSize(x,20)); m_page1.Create(IDD_ACCLINE_FRAME, GetDlgItem(IDC_TAB1));
        m_page2.Create(IDD_PROPPAGE_LARGE, GetDlgItem(IDC_TAB1)); CRect rs;
    m_tab.GetClientRect(rs);
    rs.top+=24;
    rs.bottom-=4;
    rs.left+=4;
    rs.right-=4;
    m_page1.MoveWindow(&rs);
        m_page2.MoveWindow(&rs);     //显示初始页面
         m_page1.ShowWindow(SW_SHOW);
         m_page2.ShowWindow(SW_HIDE);
     m_tab.SetCurSel(0);程序代码如上,其中m_page1,m_page2是CDialog类型变量,现在我要改变的是ID为IDD_ACCLINE_FRAME的属性页的背景色应该怎么该
      

  3.   

    http://www.codeproject.com/KB/tabs/customtab.aspx
      

  4.   

    这个例子我看过,现在的问题是我不是要改主窗体的背景色,而是要改tab控件中加入的一个子对话框的背景色。应该如何解决呢
      

  5.   

    重新定义你加载的对话框类,并重写OnEraseBkgndBOOL CFormviewDlg1::OnEraseBkgnd(CDC* pDC)
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值
        
    CRect rect; 
    CBrush brush; 
    brush.CreateSolidBrush(RGB(62,62,62)); 
    pDC->GetClipBox(rect); 
    pDC->FillRect(rect,&brush); 
    return true; 
    //return CDialog::OnEraseBkgnd(pDC);
    }