我在我的窗口消息处理函数有这么一段代码,case WM_PAINT:
hdc = BeginPaint(hWnd, &ps); RECT rect;
GetClientRect(hWnd, &rect);
//擦除背景
hRgnSrc1 = CreateRectRgn(rect.left, rect.top, rect.right, rect.bottom);
FillRgn(hdc, hRgnSrc1, (HBRUSH)(COLOR_WINDOW+2)); EndPaint(hWnd, &ps);擦除背景段代码好像没有作用,但如果将 FillRgn 改成 FillRect(hdc, &rect, (HBRUSH)(COLOR_WINDOW+2)) 就可以,不知道是什么原因,请各位老兄帮帮忙。
谢谢!
hdc = BeginPaint(hWnd, &ps); RECT rect;
GetClientRect(hWnd, &rect);
//擦除背景
hRgnSrc1 = CreateRectRgn(rect.left, rect.top, rect.right, rect.bottom);
FillRgn(hdc, hRgnSrc1, (HBRUSH)(COLOR_WINDOW+2)); EndPaint(hWnd, &ps);擦除背景段代码好像没有作用,但如果将 FillRgn 改成 FillRect(hdc, &rect, (HBRUSH)(COLOR_WINDOW+2)) 就可以,不知道是什么原因,请各位老兄帮帮忙。
谢谢!
解决方案 »
- 文件拷来拷去的问题,
- 能否编程实现当串口连接设备时候自动给用户提示? 像USB口那样?
- 用_variant_t定义了一个变量,编译时出现错误:_variant_t类型没定义!??
- 请教关于资源泄露的问题
- 请急救----为什么我的播放器里点击“打开文件”菜单,我有设置文件类型了,列表框没有相应的文件显示?
- 高手请进,谢谢!!!!!!!!!!!!!!!
- 哪位大虾们请告诉我哪里有Visual C++下载 马上给分
- VC 操作word写入页脚时,Fields::Add函数的参数不知如何设置
- USB控制权 windows与vmware之间转换问题
- 如何去掉分隔条?
- 怎样制用像netants,flashget那样的的drop basket?
- 色情网站不可不看呀。
FillRgn(hdc, hRgnSrc1, hBrush);它就可以正常工作了,真是谢谢你了。
我通过Microsoft 的新闻组得到了原因:原文:-----------------------------------------------------------------------------
FillRgn is a GDI function, FillRect is a USER function. GDI function only
takes real GDI object handle
--
Feng Yuan (www.fengyuan.com)This posting is provided "AS IS" with no warranties, and confers no rights.
-----------------------------------------------------------------------------意思是:FillRgn 是属于 GDI 模块的,而 FillRect 是属于 USER 模块的, GDI 的函数
必须要使用真正的 GDI 对象句柄。所以我必须使用 CreateSolidBrush 来创建 GDI 的 Brush 对象来给 FillRgn 使用。