vc 大家看看我想给对话框添加背景该怎么做
我想通过重载窗体的WM_CTLCOLOR消息来处理HBRUSHCMyDlg::OnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColor){HB...
我想通过重载窗体的WM_CTLCOLOR消息来处理
HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
//TODO: Change any attributes of the DC here
pDC->SetBkMode(TRANSPARENT);
switch(nCtlColor)
{
case CTLCOLOR_DLG: //设置对话框的背景色
//这里加什么代码
case CTLCOLOR_BTN://设置窗体中的控件的背景色
//这里加什么代码
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
我又改进 : pDC->SetTextColor(RGB(0, 0, 255)); //设置文本颜色
pDC->SetBkMode(TRANSPARENT);
switch(nCtlColor)
{
case CTLCOLOR_DLG:
{
static CBrush mBrush(RGB(255, 0, 0));
return (HBRUSH)mBrush ;
}
case CTLCOLOR_BTN://设置窗体中的控件的背景色
{
static CBrush mBrush(RGB(0, 0, 255));
return (HBRUSH)mBrush ;
}
}
// TODO: Return a different brush if the default is not desired
return hbr;
} 加了个static界面有变化了,但是中间文字却没有背景,我已经用 pDC->SetBkMode(TRANSPARENT); 这是为什么呢
上面的前辈你帮我看看吧。还有改变控件颜色的代码不正确,要怎么更正。还请前辈赐教。 展开
HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
//TODO: Change any attributes of the DC here
pDC->SetBkMode(TRANSPARENT);
switch(nCtlColor)
{
case CTLCOLOR_DLG: //设置对话框的背景色
//这里加什么代码
case CTLCOLOR_BTN://设置窗体中的控件的背景色
//这里加什么代码
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
我又改进 : pDC->SetTextColor(RGB(0, 0, 255)); //设置文本颜色
pDC->SetBkMode(TRANSPARENT);
switch(nCtlColor)
{
case CTLCOLOR_DLG:
{
static CBrush mBrush(RGB(255, 0, 0));
return (HBRUSH)mBrush ;
}
case CTLCOLOR_BTN://设置窗体中的控件的背景色
{
static CBrush mBrush(RGB(0, 0, 255));
return (HBRUSH)mBrush ;
}
}
// TODO: Return a different brush if the default is not desired
return hbr;
} 加了个static界面有变化了,但是中间文字却没有背景,我已经用 pDC->SetBkMode(TRANSPARENT); 这是为什么呢
上面的前辈你帮我看看吧。还有改变控件颜色的代码不正确,要怎么更正。还请前辈赐教。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询