mfc-MFC分割窗口之间的通信问题

问题描述

MFC分割窗口之间的通信问题

写一个MFC程序,大概功能是主窗口显示图片,子窗口显示处理的结果(一个字符串)。主窗口Myview,分割的子窗口是自己新建的view类NewView,问题是不知道这两个窗口之间如何通信?就是把MyView中的一个变量传递给NewView并显示出来即可。现在的一个思路是在DOC中定义这个变量,在MyView中对其赋值,在NewView中通过GetDocument函数得到这个值并显示,但是试了几次好像行不通,不知道有什么好的解决方法没有。或者有没有别的思路来实现这两个窗口之间的通信?

解决方案

这样不行?
POSITION pos = GetFirstViewPosition();
while (pos != NULL)
{
CView* pView = GetNextView(pos);
...
}

解决方案二:

可以通过主框架窗口来中转AfxGetMainWnd()

解决方案三:

都是通过maoinframe来做中转通信数据
AfxGetMainWnd()。

时间: 2024-10-24 15:01:52

mfc-MFC分割窗口之间的通信问题的相关文章

qt c++-Qt中,到底如何实现主窗口和子窗口之间的通信?

问题描述 Qt中,到底如何实现主窗口和子窗口之间的通信? RT,比如,当子窗口关闭时,重新打开主窗口.这个是如何通信的,希望能给上例子.我知道是用信号和槽,可是两个窗口(类)之间的信号和槽我还不太会.网上也没找到具体的例子.希望大婶们能给个好点的直观的例子. 解决方案 主窗体类为A,子窗体类为B,在A中实例化B,其对象为b,关闭b,但不要释放b,调用b的public方法返回数据.仔细理解. void A::buttonClick(){ B b; b.exec(); b.getData();} 或

【数字图像处理】 二.MFC单文档分割窗口显示图片

本文是讲述<数字图像处理>系列文章,继上篇讲述BMP格式图片和显示后,该篇讲述如何对单文档进行分割.主要是采用CSplitterWnd静态分割窗口显示图片等相关知识.本文主要结合自己的课程及常用图片软件讲解. 一. CSplitterWnd静态分割窗口 1.CSplitterWnd类基础知识(该部分引用:百度百科和麦田里的稻草人博客)CSplitterWnd类提供一个分离器窗口的功能,分隔器窗口是一个包含有多个窗格的窗口.窗格通常是应用程序特定的由CView派生的对象,但它也可以是具有适当子窗

mfc-【MFC静态分割窗口后,窗口通信有哪些方法???】

问题描述 [MFC静态分割窗口后,窗口通信有哪些方法???] 我自己的是从通过doc来传输数据的.发送数据获取文档指针pDoc->infoArray[0].InsertAt(0 数据"");pDoc->add=true;pDoc->UpdateAllViews(NULL);//刷新显示接受数据获取文档指针if(pDoc->add){ CString str; str = pDoc->InfoArray[0].GetAt(0);//str = 数据}那还有没

mfc-MFC动态分割窗口,pContext指针始终为空

问题描述 MFC动态分割窗口,pContext指针始终为空 我需要动态的分割某一个视图,假如我在继承自CWnd或者CView的类MyClass的create中写 m_Split.createStatic();CCreateContext* pContext = (CCreateContext*)lpCreateStruct->lpCreateParams;m_Split.createView(......pContext); 编译,链接都没问题,但分割的窗口就是现实不出来.我看了一下变量,pCo

mfc-MFC创建分割窗口出现问题

问题描述 MFC创建分割窗口出现问题 if (!m_WndSplitter.CreateView(0, 0, pContext->m_pNewViewClass, CSize(250, 0), pContext)) { TRACE0("Failed to create first pane "); return FALSE; } // add the second splitter pane - an input view in column 1 if (!m_WndSplitt

mfc 窗口通信-mfc 窗口分割,窗口之间通信

问题描述 mfc 窗口分割,窗口之间通信 mfc 窗口分割后,如何实现一个窗口的控件与另一个窗口控件的通信 解决方案 关于切分视图,最佳的实践是通过共享的文档对象来共享数据. 解决方案二: 用父窗口做中转,子窗口都可以访问父窗口

窗口通信-【MFC分割窗口后的单文档怎么变为多文档??】

问题描述 [MFC分割窗口后的单文档怎么变为多文档??] 网上的办法使过,好像不行:原因可能就是因为窗口被分割了的原因,我将分割窗口的过程全部屏蔽掉以后从单文档变为多文档没有问题.如果加上窗口分割以后就不能变为多文档了.下面是单文档和多文档的差别之一,我的问题也就是在这里.[其实我问题的原因是这样的,想在菜单中弄一个新建文档的命令,而多文档刚好可以解决这个问题,如果能解决这个问题也照样给分] 解决方案 //多文档CMultiDocTemplate* pDocTemplate;pDocTempla

当文档分割-请问mfc单文档分割窗口后,原来可以显示图形的VIEW函数怎么修改才能让其显示原来发的图形。

问题描述 请问mfc单文档分割窗口后,原来可以显示图形的VIEW函数怎么修改才能让其显示原来发的图形. BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { // TODO: 在此添加专用代码和/或调用基类 if(m_splitter.CreateStatic(this,1,2)==NULL) return FALSE; CRect rect; GetClientRect(&rect);

在mfc中使用CSplitterWnd分割窗口问题,想要拖动分隔条怎么使小窗口的大小和控件随着变化

问题描述 在mfc中使用CSplitterWnd分割窗口问题,想要拖动分隔条怎么使小窗口的大小和控件随着变化 如上所述,我现在已经把一个界面分割成2行3列的6个小窗口,用来显示曲线图.但是,当我拖动分隔条的时候主要查看某一个小窗口的时候,里面的控件和位置都没有变化,现在怎么才能使其窗口和里面的控件随着我的拖动放大缩小呢..求救啊!!!谢谢啦!! 解决方案 处理View中的WM_SIZE消息等,然后再等比例的MoveWindow等来调整控件的大小位置