一父窗口A中创建一模态的子窗口B,想要实现子窗口激活时在刷新子窗口的同时也刷新父窗口。我在子窗口的OnActivate函数里面
this->GetParent()->GetClientRect(parentRect);
InvalidateRect(parentRect);
UpdateWindow();
达不到效果。
this->GetParent()->GetClientRect(parentRect);
InvalidateRect(parentRect);
UpdateWindow();
达不到效果。
解决方案 »
- 我改别人的MFC工程,编译连接都通过了,但是生成的可执行文件不能用而我改的那个却能用,该怎么办呢,大家帮帮忙!
- 为何在常规DLL工程中加入C文件后,编译产生C1010错误?
- 如何在网页中使用javascript响应该控件的自定义事件,请问如何做?在线等
- 请问如何禁止系统运行某个程序?
- 关于网络编程的一个线程,谁能详细解释一下
- C++发信程序伪装邮箱被QQ系统拦截成垃圾邮件?
- 我想学Visual C++ ,能否推荐几本书?
- MFC界面突然消失怎么办?
- windows中图片显示问题---内核
- 如何显示位图按钮!!
- com dll的DllGetClassObject函数如何导出啊?
- SDK简单问题,新手求助,在线等
这一句难道没有获得父窗口的rect吗?
GetParent()->InvalidateRect(parentRect);
GetParent()->UpdateWindow();this ???
GetParent()本身就相当于this->GetParent()了。
而这里的this指的是你模态窗口的指针。所以你InvalidateRect(parentRect);
相当于this->InvalidateRect(parentRect); 你这里宣示的只是模态窗口的无效区域。
UpdateWindow();这一句也一样。这只是让你的模态窗口刷新,
明白问题关键所在了就好办了。你的操作是针对父窗口的,所以应该用父窗口句柄来调用InvalidateRect(parentRect);UpdateWindow();