问题描述
在一个容器中,会画很多图形,请问如何让DrawString画的图形一直最前显示,而不被后画的图形遮住DrawString:
解决方案
解决方案二:
等待答案也就是说,有一个button事件,点击会画图,但这之前,容器中已经画了有drawstring了,如何防止button事件画的图,不遮住以前的drawstring
解决方案三:
等待答案
解决方案四:
没这种功能只有在button画完之后再把DrawingString画上去
解决方案五:
只有在Onpaint中画的图形才会永久保留你在button事件中画的只是浮云,一刷新就没了
解决方案六:
又不一定是直接画在窗口上
解决方案七:
正确的做法是不要在button事件中进行绘制button事件试试想图形列表中添加对象,然后去触发OnPaint进行绘制所有的绘制操作都在OnPaint中完成如果这样很容易实现的要求比如你需要绘制的可能是一些字符串或者其他你只需要控制OnPaint中的顺序就可以,让你希望置顶的字符串在最后绘制
解决方案八:
引用6楼icedmilk的回复:
正确的做法是不要在button事件中进行绘制button事件试试想图形列表中添加对象,然后去触发OnPaint进行绘制所有的绘制操作都在OnPaint中完成如果这样很容易实现的要求比如你需要绘制的可能是一些字符串或者其他你只需要控制OnPaint中的顺序就可以,让你希望置顶的字符串在最后绘制
请问阁下:1:button事件,试试向图形列表中添加对象,然后去触发OnPaint进行绘制?不太懂,还有图形列表?麻烦举个小例2:你只需要控制OnPaint中的顺序就可以,让你希望置顶的字符串在最后绘制?最后绘制字符串,不行啊,用户都是实时与程序交互,绘制图形、绘制字符串、绘制图形、绘制字符串........这样的,不可能让所有的字符串都在最后绘制啊,况且也没有所谓的最后而言...
解决方案九:
该回复于2011-08-29 09:11:30被版主删除
解决方案十:
类似于播放歌曲,显示歌词的功能吧。将字写在一个最高窗口上,并设置字体区域为窗体区域即可。
解决方案十一:
哎!!各位说的,都不太懂
解决方案十二:
可不可以用refresh方法让drawstring的部分重新绘制,没点击按钮事件的时候,画图、同时重绘先前的drawstring部分内容,可不可以这样?
解决方案十三:
如果一次绘制有多个对象.则将要绘制到顶层的对象最后绘制.你可以给这些对象一个图层属性.绘图时按图层排序后绘制即可.
解决方案十四:
引用12楼chrisak的回复:
如果一次绘制有多个对象.则将要绘制到顶层的对象最后绘制.你可以给这些对象一个图层属性.绘图时按图层排序后绘制即可.
图层顺序?什么属性?请给一个MSDN链接,谢谢!!