读书人

窗口解决方法

发布时间: 2012-03-01 10:25:46 作者: rapoo

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


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

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

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

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

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

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

读书人网 >C++

热点推荐