wince 绘图上再显示画面为什么会卡
wince对话框上绘图,之后再显示对话框关闭了以后,画面就停在了上面。拖动软键盘的小框也是,叠影会留在绘图的区域,怎么解决呢。...
wince对话框上绘图,之后再显示对话框关闭了以后,画面就停在了上面。拖动软键盘的小框也是,叠影会留在绘图的区域,怎么解决呢。
展开
1个回答
展开全部
对话框是你自己绘的图那就肯定是这样的,如果要不叠影就的刷新界面了,我们对叠加的画图紧紧是使窗口无效而已,并不会去重新绘图。如果要使不叠影要手动去刷新这些画面的,现在很多都是用MFC来做的,其原理是不懂的。很多情况下感觉到自己会重新绘图那是应为有系统机制自动会发出绘图消息。
追问
非常感谢,知道问题出在哪了,但是怎么刷新整个界面呢,绘图的消息响应函数CDialog::OnPaint();能够调用的到,但是整个显示界面怎么刷新呢
追答
如果真是MFC的话,那你们看不到消息了吧,都是函数映射哦,这样学不好的,最好先去了解下消息的原理。在MFC中很多时候都不是去重绘整个界面的,而是对局部的被遮挡的界面重新绘图,以节省绘图时间,如果确实有必要整个界面绘图一般都是系统自己会发出绘图消息,当能自己也能绘图,我不是做MFC的,所有并不知道你们哪个怎么搞,你们那应该有相应的代码的,在你们那里的代码里找下应该可以找到的,我看了网上的对于这种应该是使用
InvalidateRect(&Rect)
Invalidate()
这两个函数实现,而不会去重绘整个界面。而且CDialog::OnPaint();这样的函数也一般不是自己去调的,这个函数是对消息的映射。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询