如何才能实现对窗口的部分重绘,其他地方不发生改变
怎么才能实现对窗口的部分重绘,其他地方不发生改变。今天在做一个程序的时候,非常纠结一点,我在窗口上放了
怎么才能实现对窗口的部分重绘,其他地方不发生改变。
今天在做一个程序的时候,非常纠结一点,我在窗口上放了四个button,又在附近输出了一些文字。 请问我该使用什么方法,让窗口那里的文字消失。我试了InvaliddateRect和Invaliddate都实现不了。
如果单纯的将整过窗口重绘的话我的Onpaint消息响应里就会有很多代码。而且整个窗口重绘时那些按钮控件也全部消失了,这样我就还要在创建一次这些按钮。 能不能有一些简单的办法来实现这个功能。
[最优解释]
什么叫做”附近“?????是按钮上,还是按钮外?文字怎么弄上去的?
[其他解释]
输出文字用CStatic控件,隐藏文字时把控件隐藏或字符串为空就OK了
[其他解释]
用DC画上去的?重新画一次吧
[其他解释]
DrawText或TextOut
输出上去的文字么?
都是写在OnPaint或者OnDraw中的?
在DrawText和TextOut 之前搞个Bool型的开关,确定画与不画就可以了。
另外自己也可用用FillRect清空一区域颜色的。
[其他解释]
"整个窗口重绘时那些按钮控件也全部消失了" 不会吧?
[其他解释]
绘图会覆盖按钮?这样不太合理吧
[其他解释]
那就把背景当清空刷子好了
[其他解释]就是在画之前自己用背景图片再画一次,作为背景。
[其他解释]在按钮外,用textout输出的。我想再Onpaint函数里少写些代码。
[其他解释]背景是一张图片,如果使用FillRect就会使背景颜色出现不一致。
[其他解释]重画一次的话,那些按钮控件都要进行重绘,这样我又要再次创建控件,会很麻烦。而且当时擦去背景时控件的状态不一致,在创建控件时又要将他恢复到原来的状态。
[其他解释]这很奇怪吗? 我的背景是一张图片。 View是Button的父窗口,父窗口重绘时会重绘子窗口!
[其他解释]是窗口的重绘! 就是我在响应完其他消息后发送一个WM_PAINT消息!
[其他解释]不明白!!
[其他解释]哦哦!