大树学长
2014-11-24 08:34
采纳率: 50%
浏览 1.9k
已采纳

【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 = 数据
}
那还有没有别的方法,
怎么发送数据,怎么接受数据,最好是不带这句话的方法:pDoc->UpdateAllViews(NULL);//刷新显示

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 大树学长 2014-12-25 00:05
    已采纳

    问题已经解决,采用的是,全局变量同时,获取各窗口的句柄,传值后进行窗口刷新显示,比窗口通讯要好

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 快乐鹦鹉 2014-11-24 08:59

    首先,文档类本身哪来的数据入口?应该是外部调用的吧?在哪里?从这个地方分支,一方面调用文档类进行数据处理,然后再通知各个视图类进行刷新。这个处理可以封装起来,比如由主框架类负责处理,并通知所有视图。这可以用一个消息来完成。

    评论
    解决 无用
    打赏 举报
  • threenewbee 2014-11-24 16:12
    评论
    解决 无用
    打赏 举报
  • WitcherLu 2014-12-11 01:20

    可以自定义消息,把要发送的数据封装成类,需要接受数据的地方定义消息处理函数。在发送的时候把数据类new出来,向接受数据的窗口句柄发送消息(postmessage),将new出来的对象指针当成参数传递。处理的窗口处理完成后记得delete。具体可以查“MFC 自定义消息”。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题