HBRUSH CAboutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID()==IDC_BUTTON1)
{
pDC->SetBkMode(1);
pDC->SetBkColor(RGB(255,244,209));
pDC->SetTextColor(RGB(0,0,255));
}
if(pWnd->GetDlgCtrlID()==IDC_STATIC1)
pDC->SetTextColor(RGB(0,0,255));
// TODO: Return a different brush if the default is not desired
return hbr;
}
IDC_STATIC1的颜色改变了
IDC_BUTTON1的颜色这没改变,我设置断点程序运行里面去了?这么会这样呢?
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID()==IDC_BUTTON1)
{
pDC->SetBkMode(1);
pDC->SetBkColor(RGB(255,244,209));
pDC->SetTextColor(RGB(0,0,255));
}
if(pWnd->GetDlgCtrlID()==IDC_STATIC1)
pDC->SetTextColor(RGB(0,0,255));
// TODO: Return a different brush if the default is not desired
return hbr;
}
IDC_STATIC1的颜色改变了
IDC_BUTTON1的颜色这没改变,我设置断点程序运行里面去了?这么会这样呢?
解决方案 »
- 有个试题, 帮忙给点思路,谢谢
- 请大家推荐一本 MFC界面 编程的教程~ 谢谢
- Combobox控件选中的内容如何返回到我指定的变量啊 !!!!急救!!!!
- 我先后装了Visual C++ 和MSDN Library (July 2005). 请问如何正确关联VC和MSDN?也就是在VC中按F1正确跳转到NSDN library.
- 请问怎么把BYTE转为char*?
- 打印机编程的问题,打印东西时偶尔打印空白、或乱码或不清楚,不知这时怎么回事?
- 怎样将DC里的内容处理成BITMAP,DC是用函数"CreateCompatibleDC()"创建的
- 请教一个CString到_bstr_t的转换问题!
- 这样的代码能用GPU来加速计算吗?
- 海量数据怎麽读?求解!!!!!!!!
- 小问题,bstr_t类型的字串,如何根据,或者其它符号分割成一个数组?
- 用什么工具做.hlp帮助文件更好?
{
if (pWnd->GetDlgCtrlID()==IDC_BUTTON1)
{
...
}
}
{
if (pWnd->GetDlgCtrlID()==IDC_BUTTON1)
{
pDC->SetBkMode(1);
pDC->SetBkColor(RGB(0,0,255));
pDC->SetTextColor(RGB(0,0,255));
}
}
IDC_BUTTON1控件还是为灰色啊!
这样吧,在OnDraw()中找个刷子刷刷看:)
CTLCOLOR_DLG Dialog box
CTLCOLOR_EDIT Edit control
CTLCOLOR_LISTBOX List-box control
CTLCOLOR_MSGBOX Message box
CTLCOLOR_SCROLLBAR Scroll-bar control要改button的颜色要把它的属性定为owerdraw
然后用这个函数或者是OnDrawItem函数另外自己派生一个CButton的子类也可以
CTLCOLOR_STATIC Static control