窗口背景问题

cgd0282 2005-09-26 07:14:41
case WM_ERASEBKGND:
hdcBk = GetDC(hWnd);
hMem = CreateCompatibleDC(hdcBk);
if(hMem == NULL)
break;
SetBkMode(hdcBk, TRANSPARENT);
SelectObject(hMem, hBkBitMap);
BitBlt(hdcBk, 0, 0, cx, cy, hMem, 0, 0, SRCCOPY);

DeleteDC(hMem);
ReleaseDC(hWnd, hdcBk);
return TRUE;
上面是我在对话框捕捉WM_ERASEBKGND消息的代码. 背景是贴出来了.
但是我把窗口移出屏幕外面.对话框里的按钮啊.文本框啊.全都不见了.就剩下一张背景图.请问还要再处理那个消息重画.各位帮帮忙谢谢了.
...全文
175 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cgd0282 2005-09-28
怎么没人回答了
回复
cgd0282 2005-09-26
子类化后我捕捉了WM_ERASEBKGND消息.如下
case WM_ERASEBKGND:
hDC = (HDC)wParam;
SetBkMode(hDC, TRANSPARENT);
return 0;
为什么还是不可以.多选按钮的背景还是"灰色"的.
回复
cgd0282 2005-09-26
我也试过了.但是要捕捉那些消息呢.我上次试了好几次都不行.
回复
按钮子类化
回复
cgd0282 2005-09-26
还有个问题.就是现在背景图是帖上了.可是单选按钮,.和多选按钮的背景还是灰色的.
如何也吧这些按钮的背景改为透明的.SDK下的
回复
cgd0282 2005-09-26
哈哈.兄台一语道天机啊.谢谢了
回复
在WM_ERASEBKGND中不要用GetDC,这个消息的wparam参数就是一个DC,使用这个DC就行了
回复
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2005-09-26 07:14
社区公告
暂无公告