关于DC的问题,欢迎大家讨论

Areslee 2004-04-07 10:12:26
请问一下各位精通界面的人
用GetDC()和用BeginPaint()得到的DC句柄有何不同?
我知道BeginPaint()只能用于WM_PAINT消息中,因此这一点我就先说出来了:)
...全文
63 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsp5i5j 2004-04-14
  • 打赏
  • 举报
回复
GetDC()获取指定窗口工作区的设备描述表
BeginPaint()为在指定窗口画图做准备工作,调用成功,
返回指定窗口显示器设备描述表的指针
返回应该是一样的
Areslee 2004-04-09
  • 打赏
  • 举报
回复
有没有人继续讨论啊
九重霄 2004-04-08
  • 打赏
  • 举报
回复
msn发送消息界面中的“隐藏窗口框架”和“更改窗口的配色方案”是怎么实现的,请大家谈谈呀
kuangjingbo 2004-04-08
  • 打赏
  • 举报
回复
他们的裁剪区域不一样
BeginPaint()得到的hdc的裁剪区域是无效区域,在无效区域之外不可绘图
getdc得到的hdc的裁剪区域是整个客户区
另外BeginPaint()还有个作用是使无效区域变的有效,否则老是有个WM_PAINT消息在消息队列中
itmaster 2004-04-07
  • 打赏
  • 举报
回复
GetDc得到得句柄是通用得
beginpaint得到得好像只可以在客户区绘图
Figozysak 2004-04-07
  • 打赏
  • 举报
回复
up
Areslee 2004-04-07
  • 打赏
  • 举报
回复
我就是想问除而外的不同,从本质上有多少不同呢?
littleleaf2008 2004-04-07
  • 打赏
  • 举报
回复
我的理解:用GetDC()得到的句柄随处可用.
wq06100610 2004-04-07
  • 打赏
  • 举报
回复
getdc和releasedc不能让无效区有效
而paint可以,并且还做是运算检查无效区,才绘制东东在上面
x0554 2004-04-07
  • 打赏
  • 举报
回复
見<<Windows程序設計>>ch4
YunLion 2004-04-07
  • 打赏
  • 举报
回复
GetDC()获得的DC重绘窗口的全部。
而BeginPaint()获得的DC仅重绘窗口中需要更新的部分。

还要,就是BeginPaint()函数会擦除需要更新的部分。
7zkeeper 2004-04-07
  • 打赏
  • 举报
回复
这好像就是游戏和魔兽的关系

15,979

社区成员

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

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