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!