VC 设置静态文本框的背景色(转)
2014-01-16 21:44
211 查看
http://hi.baidu.com/bluebirdye/item/7e016f71259a6446ef1e538b
填充静态文本框的颜色:1、在对话框中添加一个静态文本框,设置其id为IDC_STATIC
2、获得静态文本框的句柄 HWND h_static = GetDlgItem(IDC_STATIC)->m_hWnd;
3、获得静态文本框的DC句柄 HDC hdc = ::GetDC(h_static);
4、获得静态文本框的DC指针 CDC *pdc = CDC::FromHandle(hdc);
5、获得静态文本框的大小 CRect rect ; GetClientRect(h_static,rect);
6、填充静态文本框颜色 pdc->SetSolideRect(rect,RGB(255,0,0));
有人经常误解pdc->SetBkColor()来设置静态文本框的背景颜色,但是SetBkColor()的作用是设置TextOut函数输出的文字的背景颜色。
订正:6中的SetSolideRect函数可能是由于手误,函数名应该是FillSolidRect,当时仅仅是评印象总结的,非常抱歉对大家造成的不便。
非常感谢mozhaodi给出的正确方法,由于现在已经很久不用MFC了,所以当时也没有引起我足够的重视修改这篇文章。
非常感谢飘逸KS给我的批评,让我知道即时更正错误的重要性。
后附MSDN上FillSolidRect的函数原型:
void FillSolidRect( LPCRECT lpRect, COLORREF clr );void FillSolidRect( int x, int y, int cx, int cy, COLORREF clr );
这个方法不错,尽管代码多一些,但会比OnCtlColor好些,可以随时修改。
相关文章推荐
- VS2010设置VC6的字体样式及背景色、选中字高亮
- VC MFC对话框中按钮背景色以及大小设置
- VC listview控件设置条目的背景色
- VC、MFC中设置控件的背景色、标题、字体颜色、字体要注意的地方
- VC2005 MFC静态文本框背景色设置
- VS2010设置VC6的字体样式及背景色、选中字高亮
- vc++设置控件的背景色
- VS2010设置VC6的字体样式及背景色、选中字高亮
- VS2010设置VC6的字体样式及背景色、选中字高亮
- VC、MFC中设置控件的背景色、标题、字体颜色、字体要注意的地方[转]
- 去除静态文本框的背景色和设置颜色
- VC之列表控件背景色设置
- 今天把VC工作区的背景色设置为灰色了,挺舒服
- VS2010设置VC6的字体样式及背景色、选中字高亮
- 设置对话框的背景色(VC)
- VS2010设置VC6的字体样式及背景色、选中字高亮
- CSS设置DIV背景色渐变显示
- listview当选中某一个item时设置背景色其他的不变
- QPalette设置各种背景色
- MFC点击按钮,弹出进度条并且自动滚动以及进度条对话框背景色、按钮颜色设置