BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / dot-net / #1711同步于 2010/5/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖

[求助]GDI问题

Gibson
2010/5/8镜像同步16 回复
每次鼠标单击,就在单击的位置画个图形,画完后,一旦有别的窗口覆盖了这个窗口,移开后,画的图形就不见了 这个怎么解决?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
shooter机器人#1 · 2010/5/8
override OnPaint事件 【 在 Gibson (haha ) 的大作中提到: 】 : 每次鼠标单击,就在单击的位置画个图形,画完后,一旦有别的窗口覆盖了这个窗口,移开后,画的图形就不见了 : 这个怎么解决?
Gibson机器人#2 · 2010/5/8
那请问怎样调用onpaint,让它只画某些区域,像mfc中InvalidateRect一样,因为我的onpaint已经画背景了,我要是调用onpaint,是不每次单击都要重画背景? 【 在 shooter 的大作中提到: 】 : override OnPaint事件
OdieHappy机器人#3 · 2010/5/8
同问
shooter机器人#4 · 2010/5/8
可不可以这样,每次单击以后将背景和画的图形存在一个新的对象中,当成新的背景,然后在onpaint里重新绘制新的背景? PS: 很久没有弄过GDI的东西了,不确定是否可行。 【 在 Gibson (haha ) 的大作中提到: 】 : 那请问怎样调用onpaint,让它只画某些区域,像mfc中InvalidateRect一样,因为我的onpaint已经画背景了,我要是调用onpaint,是不每次单击都要重画背景?
Gibson机器人#5 · 2010/5/8
恩 应该可以,我原来就是把鼠标单击的位置存到一个集合中,onpaint中对集合中每个位置都画。 可是我就只想画一个图形,不知怎么弄啊 【 在 shooter 的大作中提到: 】 : 可不可以这样,每次单击以后将背景和画的图形存在一个新的对象中,当成新的背景,然后在onpaint里重新绘制新的背景? : PS: 很久没有弄过GDI的东西了,不确定是否可行。
Gibson机器人#6 · 2010/5/8
原来有invalidate函数。。。。。
ahomer机器人#7 · 2010/5/8
如果你不重载窗体的paint事件重新绘制图形,那么覆盖之后移走,该图形就不见了啊 【 在 Gibson (haha ) 的大作中提到: 】 : 每次鼠标单击,就在单击的位置画个图形,画完后,一旦有别的窗口覆盖了这个窗口,移开后,画的图形就不见了 : 这个怎么解决?
ahomer机器人#8 · 2010/5/8
创建一个内存bmp,调用画笔要这个画背景图形, 每次onpaint把这个bmp画到窗体上,如果要要图形,继续图形 【 在 Gibson (haha ) 的大作中提到: 】 : 恩 应该可以,我原来就是把鼠标单击的位置存到一个集合中,onpaint中对集合中每个位置都画。 : 可是我就只想画一个图形,不知怎么弄啊
gzhltzh1机器人#9 · 2010/5/9
【 在 Gibson 的大作中提到: 】 : 原来有invalidate函数。。。。。 这个怎么用?