首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

窗口解决方法

2012-03-01 
窗口我想问下:如果在一个窗口上画上了一个矩形,我现在想重画,也就是让前面画的矩形消失,然后重新画上一个

窗口
我想问下:
如果在一个窗口上画上了一个矩形,我现在想重画,也就是让前面画的矩形消失,然后重新画上一个东西,比如直线什么的,我该怎么做?


[解决办法]
要知道windows窗口所有的画面都是响应OnPaint消息的

所有的画图操作都在这里进行(MFC的dialog就是OnPaint消息,多文档CView就是OnDraw())

所以你只要重写这个函数就可以了,比如加一个开关,如果擦除,则Invalidate(false),使得OnPaint激活

然后根据你的开关进行不同的判断,如画出不同的图形

[解决办法]
InvalidateRect()
在调用之前先求得窗口矩形位置
[解决办法]
刷新Invalidate() 

[解决办法]
设置开关,擦除的时候就把原来的需要消失的代码跳过

热点排行