在对话框上加了一个静态组框,打算在里面画曲线,怎么改变groupbox内的颜色显示啊,打算改成白的,在消息函数OnCtlColor中添加:
if(pWnd->GetDlgCtrlID() == IDC_STATIC_2) //IDC_STATIC_2为我要改变组框ID
pDC->SetBkColor(RGB(255,0,0));
结果只把组框的文字显示部分背景改变了,可我想改变组框内部的颜色啊 ,不知道我说明白了没有
if(pWnd->GetDlgCtrlID() == IDC_STATIC_2) //IDC_STATIC_2为我要改变组框ID
pDC->SetBkColor(RGB(255,0,0));
结果只把组框的文字显示部分背景改变了,可我想改变组框内部的颜色啊 ,不知道我说明白了没有
用return (HBRUSH)m_blush 试试
return (HBRUSH)(m_blush.GetSafeHandle());
HBRUSH Cmydlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if (nCtlColor==CTLCOLOR_STATIC)
{ return m_hredbrush;//事先定义的红色画刷m_hredbrush
}
结果是静态文本控件变红了,组框只有标题文字边框变红了,似乎组框内部不属于组框似的?