MFC强行刷新子窗口

当父窗体设置了 WS_CLIPCHILDREN 的属性后, 默认状态下,RedrawWindow 和 InvalidateRect 不会导致子窗体重绘,因此,如果子窗体同时设置了 WS_EX_TRANSPARENT 属性,子窗体就会被父窗体刷没了。

解决的办法是 RedrawWindow 的时候添加 RDW_ALLCHILDREN 标志,强制子窗体也重绘,而不要使用默认的 RedrawWindow 和 InvalidateRect(当然也包括 Invalidate)。

RedrawWindow(NULL, NULL, RDW_ALLCHILDREN);

时间: 2024-10-26 18:16:58

MFC强行刷新子窗口的相关文章

模态对话框-MFC关于获取子窗口CWnd

问题描述 MFC关于获取子窗口CWnd 1.需要实现的功能,点击Button然后弹出一个自定义的WaveArea对话框,然后获取WaveArea->Group的CWnd指针. 2.但是我通过和WaveArea对话框绑定的CMYDialog中的OnSize()函数去获取这个CWnd,得到的总是NULL. 3.测试过,不管是创建模态对话框还是非模态对话框,都无法在自己定义的类中获取CWnd 指针. 求大神指导!! 解决方案 你在CTestGroupDlg中定义一个WaveArea对话框类的成员变量或

JS 子窗口操作父窗口实例详解

1.从子窗口中往父窗口传值 如父页面有一个控制的id是choosedProvider,那么这样可以把值传给父页面:  代码如下 复制代码 opener.document.getElementById("choosedProvider"]).value="Tom"; 2.从父窗口传值给子窗口,如子窗口中有id为T的控件,此时可以用如下传值:  代码如下 复制代码 <script> var newWindow; function openWindow(url

MFC父窗口控制子窗口CListCtrl控件刷新的问题

问题描述 MFC父窗口控制子窗口CListCtrl控件刷新的问题 目标:父窗口单击按钮,向子窗口发送一个消息:子窗口的消息处理函数中,调用列表显示函数来刷新列表数据. 我的代码: // 父窗口void CDlg4::OnButtonClick(){ CDlg43 *dlg = new CDlg43(); dlg->Create(IDD_DIALOG_43this); if (NULL == dlg) { AfxMessageBox(""failed""); d

ie 8-js子窗口关闭刷新父窗口

问题描述 js子窗口关闭刷新父窗口 使用window.showModalDialog("uploadFile.jsp",null,"dialogWidth=400px;dialogHeight=250px"); 方式弹出的一个子窗口, 我需要用子窗口控制刷新父窗口然后关闭子窗口, window.parent.dialogArguments.document.execCommand('Refresh'); window.close(); ie8下执行不成功 解决方案

javascript-js实现子窗口提交数据后,自动关闭,并且同时刷新父窗口

问题描述 js实现子窗口提交数据后,自动关闭,并且同时刷新父窗口 js实现子窗口提交数据后,自动关闭,并且同时刷新父窗口,该如何实现,网上查了很多方法,都没有达到想要的效果,求助各位大神帮忙解决一下这个小问题. 解决方案 JS自动关闭父窗口JS自动关闭窗口js关闭窗口 刷新父页面脚本 解决方案二: 关闭窗口: function closewindow() { win.close(); } 刷新父页面 function reloadPage() { parent.window.location.r

c++-MFC对话框程序通过按钮弹出子对话框,如何初始化子窗口

问题描述 MFC对话框程序通过按钮弹出子对话框,如何初始化子窗口 要实现的功能就是点击按钮,用dlg.DoModal()弹出子对话框,在子对话框中有CListControl控件,要对CListControl控件进行数据的初始化,但是无法对其进行初始化.子对话类中已经添加了OnInitDialog()方法,感觉没有执行这个方法,求解. 点击按钮事件代码: void CMFCPaikeDlg::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 CDialogEx::

dockablepane-mdi子窗口怎么怎么自动改变大小 MFC

问题描述 mdi子窗口怎么怎么自动改变大小 MFC mdi窗口里面包含几个dockablepane的子窗口,怎么让默认的CView窗口大小跟随mdi窗口大小变动 另外,关闭旁边的dockablepane后,CView窗口大小也能自动调整 解决方案 在CMainFrame::OnSize中调整你的mid窗口的大小.不过你这么做多奇怪,干脆让mdi子窗口保持最大化得了. 解决方案二: 在打开文档或者窗口创建完成后主动修改CChildFrm窗口大小 解决方案三: MFC MDI启动是不显示子窗口

MFC子窗口和父窗口(SetParent,SetOwner)

一.概念和区别 在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表.系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口.这个数据结构中有四个数据用来构建list,即child.sibling.parent.owner四个域.所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-child关系.前者称之为拥有/被拥有关系,后者称之为父/子关系.在这篇文字中,我把owner窗口称之所有者窗口.换句话说,一个窗口在有一个父窗口(pa

在父窗口上弹出子窗口,子窗口关闭刷新父窗口

问题描述 一.父窗口上:<ahref="#"onclick="OpenWin(this)"srclink="<%#"Employee_Update.aspx?E_id="+Eval("E_id")%>">修改</a>对应的JS:<script>functionOpenWin(obj){varlink=obj.srclink;varheight=parseInt