我在对话框的OnCtlColor中加入一下语句:
HBRUSH CMyButtonDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
//pDC->SetBkColor(RGB(0, 0, 255));
switch ( nCtlColor ) {
case CTLCOLOR_BTN:
case CTLCOLOR_EDIT:
case CTLCOLOR_STATIC:
pDC->SetTextColor(RGB(0,0,255));
pDC->SetBkColor(RGB(255, 255, 0));
return (HBRUSH)m_bkBrush.GetSafeHandle();
} // TODO: Return a different brush if the default is not desired
return hbr;
}
//m_bkBrush在OnInitDialog()初始化为:
m_bkBrush.CreateSolidBrush(RGB(255, 255, 0));静态文本,编辑框的都改变了,就是唯独按钮的没有任何改变,为什么会这样?按钮还需要什么特殊的处理吗?多谢了!
HBRUSH CMyButtonDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
//pDC->SetBkColor(RGB(0, 0, 255));
switch ( nCtlColor ) {
case CTLCOLOR_BTN:
case CTLCOLOR_EDIT:
case CTLCOLOR_STATIC:
pDC->SetTextColor(RGB(0,0,255));
pDC->SetBkColor(RGB(255, 255, 0));
return (HBRUSH)m_bkBrush.GetSafeHandle();
} // TODO: Return a different brush if the default is not desired
return hbr;
}
//m_bkBrush在OnInitDialog()初始化为:
m_bkBrush.CreateSolidBrush(RGB(255, 255, 0));静态文本,编辑框的都改变了,就是唯独按钮的没有任何改变,为什么会这样?按钮还需要什么特殊的处理吗?多谢了!
解决方案 »
- socket编程addrinfo结构问题?
- 请教VC中如何读取hzk16文件,显示字模信息
- 如何在对话框中加入属性页?
- ListCtrl中dwStyle=LVS_EX_CHECKBOXES实现checkbox,如何将缺省状态设为选中状态?谢谢!
- 请教一个读写文件的程序.
- 有谁做过VC++的界面美化?请指点一下!(分不够可以再给!)
- Ado访问Sql server2000使用Index问题,急急急!!!(高分奉送)在线等待
- !!!!!!!!怎么样在VC中不读数据库,直接构造结果集Recordset!!!!!!!(靠!我就不信VB搞定的东西VC会搞不定!)
- 如何检查内存泄漏?
- !!!!!哪里可以下载到Listview(或ListControl)的VBX控件!!!
- 好难啊?
- 怎样使用在非Fonts目录下的字体文件显示文字?
另外,我认为上面的代码并不规范,switch语句的分支中未有缺省处理,这很容易把程序搞乱或整死掉……
这个应该算是一个BUG。