MFC對話方塊修改背景顏色或新增背景圖片、控制元件背景與字型顏色的修改
阿新 • • 發佈:2018-12-25
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!