1. 程式人生 > >MFC對話方塊修改背景顏色或新增背景圖片、控制元件背景與字型顏色的修改

MFC對話方塊修改背景顏色或新增背景圖片、控制元件背景與字型顏色的修改

MFC對話方塊修改背景顏色:

在CXXXDlg::OnInitDialog()中新增:
CDialogEx::SetBackgroundColor(RGB(155,170,190));
效果如下:

這裡寫圖片描述

MFC對話方塊新增背景圖片:

在CXXXDlg::OnInitDialog()中新增:

CDialogEx::SetBackgroundImage(IDB_BITMAP1);

效果如下:
這裡寫圖片描述

MFC控制元件與背景保持一致:

  • 靜態控制元件

給對話方塊新增OnCtlColor()函式:
效果:
這裡寫圖片描述
可以看到只有ID為Static的文字框與背景保持一致。

  • 按鈕控制元件
    插入一下程式碼:
UINT id = pWnd->GetDlgCtrlID();
    if(id == IDC_RADIO1 || id == IDC_CHECK1)
    {
        pDC->SetBkMode(TRANSPARENT);

        CRect rc;
        pWnd->GetWindowRect(&rc);
        ScreenToClient(&rc);

        CDC* dc = GetDC();

        pDC->BitBlt(0,0,rc.Width(),rc.Height(),dc,rc.
left,rc.top,SRCCOPY); //把父視窗背景圖片先畫到按鈕上 ReleaseDC(dc); hbr = (HBRUSH) ::GetStockObject(NULL_BRUSH); }

效果:
這裡寫圖片描述

  • 修改控制元件字型顏色:
    新增程式碼:
if(nCtlColor == CTLCOLOR_STATIC )
    {
        pDC->SetTextColor((25, 0, 125));
    }

這裡寫圖片描述

注: 此經驗來自於csdn下載上的一個例項程式碼,通俗易懂又實用,O(∩_∩)O!