基于对话框的程序,对话中导入背景图片,现在拖动一个groupbox控件,怎么设置字体透明,并可以修改字体的大小,颜色。
如下图:(怎么修改“用户选择”字体透明。)
望,高手们帮忙看看,谢谢!部分代码:
HBRUSH CTestUserComboxDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何属性 // TODO: 如果默认的不是所需画笔,则返回另一个画笔 if(nCtlColor == CTLCOLOR_STATIC || nCtlColor == CTLCOLOR_BTN || pWnd->GetDlgCtrlID() == IDC_STATIC)
{
// 背景色透明
pDC->SetBkMode(TRANSPARENT);
// 返回透明画刷
return (HBRUSH)GetStockObject(NULL_BRUSH);
} return hbr;
}
如下图:(怎么修改“用户选择”字体透明。)
望,高手们帮忙看看,谢谢!部分代码:
HBRUSH CTestUserComboxDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何属性 // TODO: 如果默认的不是所需画笔,则返回另一个画笔 if(nCtlColor == CTLCOLOR_STATIC || nCtlColor == CTLCOLOR_BTN || pWnd->GetDlgCtrlID() == IDC_STATIC)
{
// 背景色透明
pDC->SetBkMode(TRANSPARENT);
// 返回透明画刷
return (HBRUSH)GetStockObject(NULL_BRUSH);
} return hbr;
}
{
CRect rc;
m_Group.GetClientRect(&rc);
pDC->FillSolidRect(rc,RGB(0,255,255));// blue
// Set the background mode
pDC->SetBkMode(TRANSPARENT);
// Set the text color
pDC->SetTextColor(RGB(255,255, 255));// white
// Return our CBrush object
hbr = 0;//m_brushRed;//red
}
pDC->SetTextColor(RGB(255,0,0));
//字体大小直接在对话框上修改对话框的字体属性。也可以在OnCtlColor处理中自定义字体
另外以上代码,在VC6中可以修改实现字体透明的
if(nCtlColor == CTLCOLOR_STATIC && pWnd->GetDlgCtrlID() == IDC_STATIC)
{
// 背景色透明
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255,0,0));//红色字体
// 返回透明画刷
return (HBRUSH)::GetStockObject(NULL_BRUSH);
}
pWnd->m_hWnd==m_Group.m_hWnd 这个判断条件中的m_Group在头文件中定义:
GroupBox m_Group; ???
m_groupbox.SetFont(&m_groupFont);