設(shè)置對話框的背景顏色和設(shè)置控件的字體顏色或背景顏色代碼

字號:

關(guān)于設(shè)置對話框的背景顏色,和設(shè)置控件的字體顏色或背景顏色:
    首先要為對話框添加消息映射,主要是:
    BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)
    ON_WM_ERASEBKGND()//背景色
    ON_WM_CTLCOLOR()//設(shè)置文本等控件相關(guān)顏色
    END_MESSAGE_MAP()
    然后在相關(guān)代碼區(qū)域添加代碼:
    //背景色
    BOOL CXXXDlg::OnEraseBkgnd(CDC* pDC)
    {
    // TODO: 在此添加消息處理程序代碼和/或調(diào)用默認(rèn)值
    //背景色
    BOOL retValue= CDialog::OnEraseBkgnd(pDC);
    CRect rc;
    GetClientRect(&rc);
    pDC->FillSolidRect(&rc,RGB(230,240,250));
    return retValue;
    }
    // 除按紐之外的其他控件,字體顏色、字體背景顏色、控件背景顏色等。
    HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
    HBRUSH hbr = CBkDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    // TODO: 在此更改DC 的任何屬性
    //對除了按鈕外的其他控件有效
    if(pWnd->GetDlgCtrlID() == IDC_STATIC_TEXT )//關(guān)聯(lián)控件ID
    {
    //設(shè)置字體顏色
    pDC->SetTextColor(RGB(200,100,80));
    //設(shè)置文本背景顏色
    pDC->SetBkColor(RGB(230,240,250));
    //設(shè)置控件背景顏色
    hbr = ::CreateSolidBrush(RGB(230,240,250));
    return hbr;
    }
    // TODO: 如果默認(rèn)的不是所需畫筆,則返回另一個畫筆
    return hbr;
    }