<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>
当你看到
Windows
显示的按钮时,背景颜色是灰色的。当你看到缺省的窗口背景时,它是白色的。当你的老板需要你创建一个黑色背景的按钮时,你会怎么样做呢?其实在
Windows
里先用
API
函数
CreateSolidBrush
创建画刷,然后调用
FillRect
函数来填充背景。这样来,不管你需要什么样的背景,都随心所欲了吧。现在先来搞懂
CreateSolidBrush
函数,下次再来练习
FillRect
。
函数
CreateSolidBrush
声明如下:
WINGDIAPI HBRUSHWINAPI CreateSolidBrush( __in COLORREF color);
color
是画刷颜色。
调用这个函数的例子如下:
#001//
#002//
界面显示输出
.
#003//
#004//
蔡军生
2007/08/29 QQ:9073204
深圳
#005//
#006void CCaiWinMsg::OnDraw(HDC hDC)
#007{
#008//
#009std::wstring strShow(_T("C++
窗口类的实现
,2007-08-27"));
#010
#011//
设置输出字符串的颜色
.
#012COLORREF crOld = SetTextColor(hDC,RGB(255,0,0));
#013
#014RECT rcText;
#015rcText.left = 10;
#016rcText.top = 30;
#017rcText.right = 300;
#018rcText.bottom = 80;
#019
#020//
创建黑色的画刷
,
#021HBRUSH hbrush = CreateSolidBrush(RGB(0, 0, 0));
#022
#023//
用黑色的画刷填充四边形的颜色
.
#024FillRect(hDC,&rcText,hbrush);
#025
#026//
删除画刷
.
#027DeleteObject(hbrush);
#028
#029//
显示字符串在四边形的中间位置
.
#030DrawText(hDC,strShow.c_str(),(int)strShow.length(),&rcText,
#031 DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS);
#032
#033//
恢复原来的颜色
.
#034SetTextColor(hDC,crOld);
#035}
第
21
行是创建黑色的画刷。它的效果图如下:
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1764559