如何为一窗口指定一背景刷子

Empire_Soldier 2004-08-27 04:40:22
希望为一View指定一背景刷子(在创建View时绑定),当OnSize时使用指定背景刷子清屏,请问该如何操作?
...全文
94 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kvls 2004-08-27
  • 打赏
  • 举报
回复
注意:上面的代码在CView的派生类中测试通过,如果是其他的View请注意修改,其他的类如框架类等需要注意PreCreateWindow会调用两次的问题,最后一次才能调用该代码
kvls 2004-08-27
  • 打赏
  • 举报
回复
在C×××View::PreCreateWindow开始处添加:
WNDCLASS wndcls;
::GetClassInfo(AfxGetInstanceHandle(), "AfxFrameOrView42d", &wndcls); // 这处的AfxFrameOrView42d可能需要修改
wndcls.lpszClassName = "MD.kvls.20040827";
wndcls.hbrBackground = (HBRUSH)::GetStockObject(BLACK_BRUSH); // 设置不同的背景刷
AfxRegisterClass(&wndcls);

cs.lpszClass = "MD.kvls.20040827";
Empire_Soldier 2004-08-27
  • 打赏
  • 举报
回复
希望创建窗体时就指定,如在WNDCLASS中指定,问题是可以在操作WNDCLASS的时机.
howtotell 2004-08-27
  • 打赏
  • 举报
回复
在OnPaint的else里面
CBrush m_brush;
m_brush.CreateSolidBrush(0xff8800);
CRect rec;
this->GetClientRect(&rec);
GetDC()->FillRect(&rec,&m_brush);
howtotell 2004-08-27
  • 打赏
  • 举报
回复
一般都是在OnPaint里面,利用Paint里面的dc刷屏.在OnSize的时候会调用OnPaint.

19,472

社区成员

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

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