在屏幕上绘制的问题

fool_leave 2005-08-18 10:41:36
怎么实现在屏幕上绘制图画?

我通过CWindowDC dc(NULL)来得到在屏幕上绘制的dc。可以实现在屏幕上简单的绘制。但这样的绘制有问题,没办法主动将绘制的东西擦除,而且如果屏幕刷新后绘制的东西就会消失


有什么办法能够实现在屏幕上绘制图片,就像在自己的CWnd上绘制一样,可以控制绘制。


常看到一些在屏幕上绘制滚动小球之类的小程序,不会影响其他程序的运行。绘制感觉和在自己的CWnd上绘制一样,是怎么实现的
...全文
227 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
yajyjy 2005-08-25
  • 打赏
  • 举报
回复
用内存dc画好之后再翻出来
y0z0 2005-08-25
  • 打赏
  • 举报
回复
我也玩过这么一个东东(好像叫DESKTOP.EXE),但是我玩的那个就不能做其它事,只有ESC后退出。它把窗口设为全屏,并记录当前桌面作为窗口内容,然后改写鼠标样式,hook鼠标事件,当点击鼠标时切换到该程序。而一旦退出,自然窗口中修改的内容都不会再有了。
fool_leave 2005-08-25
  • 打赏
  • 举报
回复
用内存画好后翻出来还是一样呀


无非就是把原来的屏幕copy到内存dc上然后再画,然后再bitblt出来。但要考虑到桌面会变化,还有小球移动的时候不能留下拖痕。


fool_leave 2005-08-23
  • 打赏
  • 举报
回复
我看过一个小软件,鼠标会变成一个大锤子,点到哪里就把屏幕砸裂。取消锤子后,屏幕不会恢复,感觉好像把显示器打碎了一样,但还可以写字,用world等软件,我就不知道他是怎么做的。
y0z0 2005-08-20
  • 打赏
  • 举报
回复
同意Practise_Think的,应该是一个没有边框的窗口
i_noname 2005-08-20
  • 打赏
  • 举报
回复
我觉得Practise_Think(时代“过客”) 说得很有道理“那个小球其实就是一个窗口,并不是绘画上去的,而是不断地移动窗口”。
桌面是不能被程序所完全控制的。
桌面程序不是在桌面上画图,而是创建了一个或N个特殊窗口
c9714052 2005-08-20
  • 打赏
  • 举报
回复
你找个游戏的代码看看就知道了,潜艇大战玩过吗? 有源码的
c9714052 2005-08-20
  • 打赏
  • 举报
回复
简单的说就是在内存中还原背景再加上要画的新图,然后绘制。
summer0360 2005-08-20
  • 打赏
  • 举报
回复
同意楼上的
Practise_Think的做法相对也简单
不过不知道符不符合你的要求
xiaoyao19811201 2005-08-20
  • 打赏
  • 举报
回复
mark
fool_leave 2005-08-19
  • 打赏
  • 举报
回复
c9714052(ali)

不是很明白。可不可以给点代码看看
Practise_Think 2005-08-19
  • 打赏
  • 举报
回复
那个小球其实就是一个窗口,并不是绘画上去的,而是不断地移动窗口
goodboyws 2005-08-18
  • 打赏
  • 举报
回复
小球之类的我估计用的是异或。
SetROP2(R2_XORPEN);
或者
SetROP2(R2_NOT);
wwxxll 2005-08-18
  • 打赏
  • 举报
回复
我也想知道
legendhui 2005-08-18
  • 打赏
  • 举报
回复
http://www.vckbase.com/document/viewdoc/?id=802
lixiaosan 2005-08-18
  • 打赏
  • 举报
回复
用gdi+绘图方便
dirdirdir3 2005-08-18
  • 打赏
  • 举报
回复
http://www.vckbase.com/document/viewdoc/?id=673
teli_eurydice 2005-08-18
  • 打赏
  • 举报
回复
up
c9714052 2005-08-18
  • 打赏
  • 举报
回复
1,把要绘制的区域背影保存下来,
2,绘图
3,还原背景
4,重复第一步

注:开始画时动作为步骤为1,2. 中间步骤为3,1,2, 关闭时为3.
每个动作都在内存中完成后再显示到屏幕上,谓之双缓存。
fool_leave 2005-08-18
  • 打赏
  • 举报
回复
异或比较难控制,因为屏幕如果刷新了,就会出现无法擦去的痕迹,但那些程序非常平滑的


上面的两个地址我怎么打不开呢

15,979

社区成员

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

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