在VIEW类里面的PreCreateWindow里面想改变客户区的背景颜色为蓝色,所以想自定义一个蓝色的系统刷子:
CBrush brush(RGB(255,0,0));
HBRUSH hbrush=brush.operator HBRUSH;
cs.lpszClass =AfxRegisterWndClass(CS_HREDRAW | CS_VREDRAW,LoadCursor (NULL,IDC_CROSS),brush,0);
但是HBRUSH hbrush=brush.operator HBRUSH;编译出错。
我知道GetStockObject可以返回刷子,但是好像只可以有白色,黑色,和透明的,请问怎样定义一个HBRUSH呢???
各位前辈多多指教!
CBrush brush(RGB(255,0,0));
HBRUSH hbrush=brush.operator HBRUSH;
cs.lpszClass =AfxRegisterWndClass(CS_HREDRAW | CS_VREDRAW,LoadCursor (NULL,IDC_CROSS),brush,0);
但是HBRUSH hbrush=brush.operator HBRUSH;编译出错。
我知道GetStockObject可以返回刷子,但是好像只可以有白色,黑色,和透明的,请问怎样定义一个HBRUSH呢???
各位前辈多多指教!
还是谢谢各位,麻烦进了领分,哈哈哈哈,全部给沙发
HBRUSH hbrush = brush;
CBrush brush(RGB(255,0,0));
HBRUSH hbrush = brush;
代替,好像不行啊,可以编译,但是不能起作用,背景颜色没有改变???WHY?????
试试看这样呢?
CBrush brush(RGB(255,0,0));
HBRUSH hbrush ;
brush.FromHandle( hBrush );
方法应直接用API的CreateSolidBrush或将CBrush定义为类成员变量或全局变量
HBRUSH brush=(HBRUSH)CreateSolidBrush(RGB(0,0,50));
HBRUSH brush=(HBRUSH)CreateSolidBrush(RGB(0,0,50));