首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于静态控件的背景色解决办法

2012-02-07 
关于静态控件的背景色VC++6.0建立了基于对话框的应用程序,在对话框某位置处建立两个静态控件ID为ID_STATIC

关于静态控件的背景色
VC++6.0建立了基于对话框的应用程序,在对话框某位置处建立两个静态控件
ID为ID_STATIC1和ID_STATIC2(类为CMystatic:CStatic)

说明: 1 .两个控件的起始X坐标相同,上下紧贴着,而且长度相同
  2 .控件1里面设定字符串“Remain Time”,控件2里面设定字符串“Sec”

想要的效果: 两个控件(注意是整个的控件)的背景色设定成相同的颜色


我的实现方法:

HBRUSH CXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
  HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
   
  // TODO: Change any attributes of the DC here
  if(IDC_STATIC1 == pWnd->GetDlgCtrlID() || IDC_STATIC2 == pWnd->GetDlgCtrlID())
  {
  pDC->SetTextColor(RGB(0, 0, 255));
  pDC->SetBkColor(RGB(255, 255, 255));
  }
  return hbr;
}

现状:
控件1和控件2里面的字符串的颜色设定为一致了,但问题是两个控件只有字体的背景色被设为一致了,而不是整个控件的背景色一致。所以我想知道SetBkColor是用来设定字体的背景色而不是控件的背景色吗?如果想让两个控件(是整个控件,不是只有现实字符串的部分)的背景色一致,该怎么设定。求教了,谢谢。

[解决办法]
SetBkColor是设定字体的背景色
return hbr 这个就是返回背景画刷,你创建一个单色的画刷返回就可以了


[解决办法]
無視一三樓,看二樓

热点排行