mfc窗口分割后的通信问题

问题描述

mfc窗口分割后的通信问题

VS2010环境下编写的,把视图分割成了上下两个窗口,都是CFormView类的,上面的窗口只有一个teechart控件,想要实现的功能是点击下面窗口的一个按钮在上面的teechart控件中显示一个50个随机数组成的曲线。按照网上的案例写完以后运行就马上报错,代码如下:
void CSpect_Tool::OnBnClickedButAddspect()
{
// TODO: 在此添加控件通知处理程序代码
CSpect_Display *MCFrm=(CSpect_Display *)this->GetParentFrame();

CLegend legend = (CLegend)spectdpy.m_chart.get_Legend();    

legend.put_Visible(FALSE);
spectdpy.m_chart.AddSeries(0);
((CAspect)spectdpy.m_chart.get_Aspect()).put_View3D(false);
((CSeries)spectdpy.m_chart.Series(0)).put_VerticalAxis(0);
((CSeries)spectdpy.m_chart.Series(0)).put_HorizontalAxis(1);
((CSeries)spectdpy.m_chart.Series(0)).FillSampleValues(50);

}

这部分通信到底应该怎么去做呢,望知道的告知小弟一下,非常感谢

解决方案

就你的需求来说根本不应该用分割视图,而是应该创建一个类似资源管理器那样(只不过你是水平的)的界面,换言之,上下两部分不是一个视图的分割,而根本就是两个视图。

直接通过主帧窗口直接共享数据。

解决方案二:

直接一个CFormView,然后上面摆上下两层的控件

解决方案三:

不同的view的话,那么就通过mainframe来传递数据。多个view都可以跟mainframe通信

解决方案四:

可以通过主框架窗口来中转数据,AfxGetMainWnd()可以得到主框架窗口的CWnd*指针。

时间: 2024-11-08 22:33:27

mfc窗口分割后的通信问题的相关文章

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

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

mfc 窗口通信-mfc 对话框窗口分割后通信通信

问题描述 mfc 对话框窗口分割后通信通信 将对话框分割为两个窗口,如何实现这连个窗口之间的通信新手,求指导谢谢 解决方案 对话框分割后还是一个窗口,而不是两个.所以只要定义成员变量,就可以互相传值 解决方案二: 获取窗口句柄,然后发消息用postmessage 收消息用getmessage或peekmessage 解决方案三: 都通过对话框本身的实例对象来通信,它可以访问两个窗口 解决方案四: 要看你这个分隔是怎么分隔了.1. 中间划了一条竖线,额,这个嘛,互相可以访问了2. 的的确确分了两个

mfc 窗口分割 通信 线程函数调用

问题描述 mfc 窗口分割 通信 线程函数调用 写了一个mfc程序将对话框分割进行不同窗口间通信.但是出现了如下问题:void MyFormView::send() //发送数据{ CMainFrame* MainFrame = (CMainFrame*)this->GetParent()->GetParent(); MyFormView1* battery = (MyFormView1*)MainFrame->m_wndSplitter1.GetPane(1 0); battery-&

mfc-MFC窗口分割问题,望大神予以小弟指导,感激涕零

问题描述 MFC窗口分割问题,望大神予以小弟指导,感激涕零 参照MFC分割窗的事例进行了窗口分割的工作,但是遇到了只能对第二个窗口进行分割的问题,分割结果如图1,,但现在想实现第一行为一整行,第二行分为两列.本人初步接触MFC,希望知情人予以解答,在此感激不尽. 分割代码如下: if (m_splitter.CreateStatic(this, 2, 1) == NULL) return FALSE; m_splitter.CreateView(0, 0, RUNTIME_CLASS(CSpli

mfc窗口切换视图-MFC单文档视图 窗口分割 如何切换视图

问题描述 MFC单文档视图 窗口分割 如何切换视图 BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { // TODO: Add your specialized code here and/or call the base class if(!m_wndSplitter.CreateStatic(this,1,2)) return FALSE; if(!m_wndSplitter.Cr

mfc-MFC中设置窗口固定后工具栏显示有问题

问题描述 MFC中设置窗口固定后工具栏显示有问题 在设置窗口不能拉伸的时候,加了 ::SetWindowLong(m_pMainWnd->m_hWnd,GWL_STYLE,WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU); 窗口上工具栏就显示成图片上这样了,请问怎么办?? 解决方案 先用getwindowlong得到原来的窗口状态,再附加你要的这几个,不然的话肯定不行,比如你这个就没有客户区边缘属性了. 解决方案二: Windows MFC 两个OpenGL窗口显示与线程

WindowsXP系统下窗口打开后显示速度很慢如何解决

  WindowsXP系统下窗口打开后显示速度很慢如何解决          具体如下: 1.按下快捷键Win+R,打开运行对话框,输入regedit进入注册表编辑器; 2.依次展开到HKEY_CURRENT_USERControlPanelDesktopWindowMetrics,在右侧找到MinAnimate; 3.双击它,将值改为0,之前默认的是1.禁止动画的显示; 4.确定之后,注销计算机,重新启动即可.

界面-如何使打开的其他程序或者文档在MFC窗口中显示,而不是新打开一个窗口

问题描述 如何使打开的其他程序或者文档在MFC窗口中显示,而不是新打开一个窗口 我想在程序界面中指定一个区域,用于显示被打开的其他程序或者文档的界面.可是我用ShellExecute函数打开指定的那个文档和程序的时候,总是会再启动另一个窗口,效果就像是直接点击打开那个文件一样. 解决方案 将mfc窗口设置为其它程序的父窗口 解决方案二: 参考:程序只允许打开唯一实例且所有关联文档都在同一实例内打开的一揽子解决办法http://blog.csdn.net/IfI/article/details/1

文件末尾-文件结束字符会导致分割后文件大小变化吗

问题描述 文件结束字符会导致分割后文件大小变化吗 unix c中文件结束字符占1个字符,如果一个大文件分成4个文件,4个文件的大小总和是不是改为大文件大小+3?因为每个文件末尾加了一个结束字符.但是为什么么总和和大文件大小大咧 解决方案 文件里面不存在"文件结束字符"这么个东西. 比如,用"touch newfile"这个命令创建一个空文件,它的大小就是0字节. 楼主说的可能是EOF,他是某些读取文件的函数的一个返回值,并不是说文件里面真的有这么个字符. 解决方案二