窗口背景问题

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消息的代码. 背景是贴出来了.
但是我把窗口移出屏幕外面.对话框里的按钮啊.文本框啊.全都不见了.就剩下一张背景图.请问还要再处理那个消息重画.各位帮帮忙谢谢了.
...全文
222 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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就行了

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧