您的位置:程序门 -> vc/mfc -> 界面



请教关于视图更新的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请教关于视图更新的问题
发表于:2008-01-09 10:45:37 楼主
在一个对话框上有一个按钮
在点击这个按钮的同时要求关闭对话框,同时在窗口上出现某个视图
在对话框类中为该按钮添加了消息响应函数,在响应函数中用cdialog::onok()关闭对话框
然后用view-> invalidate();

现在的问题是,点击按钮后,对话框关闭,但是窗口上并没有视图输出
只有放大或者缩小窗口的时候,才有视图输出

请教大家,有什么办法解决这个问题呢?我很菜,所以大家解答的越详细越好,先谢谢了
发表于:2008-01-09 11:39:061楼 得分:0
你先用onok关闭对话框对话框就销毁了,后面的语句就得不到执行,可以考虑调换一下顺序,或者这样:  
cview       *pview=afxgetmainwnd()->   getactiveview();  
pview->   postmessage(wm_paint);  
onok();  
拼写可能有误,大致意思就是这样的。
发表于:2008-01-09 15:02:112楼 得分:0
有没有别的答案呢?
发表于:2008-01-10 02:50:333楼 得分:0
1、大家理解有误,模态对话框点击ok后并不销毁,只是隐藏;非模态对话框才是销毁。
可以知道,仁兄的问题只是窗口没有按照预期的重绘,其他都没有问题。所以如果大哥在onok中加入invalidate();   后仍然不能重绘窗口的话,那么大哥可以试着把invalidate();写入调用这个对话框的函数里。
2、1楼的思路应该没有问题,不过我觉得应该做点小改动:
cxxxxview   *pview=(cxxxxview   *)(afxgetmainwnd()-> getactiveview());       //cxxxxview是你的视图类
pview-> postmessage(wm_paint);      
onok();


快速检索

最新资讯
热门点击