返回信息流每次鼠标单击,就在单击的位置画个图形,画完后,一旦有别的窗口覆盖了这个窗口,移开后,画的图形就不见了
这个怎么解决?
这是一条镜像帖。来源:北邮人论坛 / dot-net / #1711同步于 2010/5/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖
[求助]GDI问题
Gibson
2010/5/8镜像同步16 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
override OnPaint事件
【 在 Gibson (haha ) 的大作中提到: 】
: 每次鼠标单击,就在单击的位置画个图形,画完后,一旦有别的窗口覆盖了这个窗口,移开后,画的图形就不见了
: 这个怎么解决?
那请问怎样调用onpaint,让它只画某些区域,像mfc中InvalidateRect一样,因为我的onpaint已经画背景了,我要是调用onpaint,是不每次单击都要重画背景?
【 在 shooter 的大作中提到: 】
: override OnPaint事件
可不可以这样,每次单击以后将背景和画的图形存在一个新的对象中,当成新的背景,然后在onpaint里重新绘制新的背景?
PS: 很久没有弄过GDI的东西了,不确定是否可行。
【 在 Gibson (haha ) 的大作中提到: 】
: 那请问怎样调用onpaint,让它只画某些区域,像mfc中InvalidateRect一样,因为我的onpaint已经画背景了,我要是调用onpaint,是不每次单击都要重画背景?
恩 应该可以,我原来就是把鼠标单击的位置存到一个集合中,onpaint中对集合中每个位置都画。
可是我就只想画一个图形,不知怎么弄啊
【 在 shooter 的大作中提到: 】
: 可不可以这样,每次单击以后将背景和画的图形存在一个新的对象中,当成新的背景,然后在onpaint里重新绘制新的背景?
: PS: 很久没有弄过GDI的东西了,不确定是否可行。
如果你不重载窗体的paint事件重新绘制图形,那么覆盖之后移走,该图形就不见了啊
【 在 Gibson (haha ) 的大作中提到: 】
: 每次鼠标单击,就在单击的位置画个图形,画完后,一旦有别的窗口覆盖了这个窗口,移开后,画的图形就不见了
: 这个怎么解决?
创建一个内存bmp,调用画笔要这个画背景图形,
每次onpaint把这个bmp画到窗体上,如果要要图形,继续图形
【 在 Gibson (haha ) 的大作中提到: 】
: 恩 应该可以,我原来就是把鼠标单击的位置存到一个集合中,onpaint中对集合中每个位置都画。
: 可是我就只想画一个图形,不知怎么弄啊