一个SDI,用Splitter分成两个view,一个是CDataListView(基类为:CListview);一个是CTestView(基类为:CView)。我现在想在CTestView中输出一些信息(即在CTestView中显示一些信息)。
但不知道该怎么做!

解决方案 »

  1.   

    在CTestView的OnDraw函数中用pDC->TextOut()就可以输出字符串了。
      

  2.   

    如果我还有输出格式的要求呢?
    而且我是在MainFrm中进行输出的啊?
      

  3.   

    将要输出的数据写到文档类中,然后VIEW调用文档中的数据进行输出。这是视图-文档模式的初衷。至于输出格式,由CDC类进行设置。
      

  4.   

    将要输出的数据写道文档类中?
    不太明白你这个意思?在MainFrm中如何对文档类进行操作啊?
    能再详细一点说吗?
      

  5.   

    GetActiveDocument()获取当前文档指针。比如你要输出一个字符串。可以在文档类中定义一个CString m_str成员变量。然后将MainFrm中你需要输出的字符串传递给m_str。
    在CTestView的OnDraw中:
    pDC->TextOut(x,y,pDoc->m_str);就可以了。
      

  6.   

    1.在什么地方获取当前文档指针啊?在MainFrm中吗?
    2.在MainFrm中将需要输出的字符串传递给m_str,如何传递啊?
    3.如果我是需要将一个buf中的内容传递给CTestView呢?谢谢快乐鹦鹉了!我以前没有做过这个东东,所以不是很了解,希望你能说得比较具体一点。如果分数不够可以再加分的!
      

  7.   

    buf中的内容不是字符串吗?你只要在文档类中定义一样的类型就行了。
    在MainFrm.cpp中,#include "MyDoc.h"//包含你的文档头文件
    CMyDoc* pDoc = (CMyDoc*)GetActiveDocument();
    pDoc->m_str = 你的buf内容
      

  8.   

    还是不行啊!我在MainFrm中是这么做的:   CTestDoc *pDoc = (CTestDoc *)GetActiveDocument();
       pDoc->m_str = "hello";
       CTestView * pTestView = (CTestView *)m_wndSplitterRow.GetPane(1,0);
       pTestView->OnDraw(pDoc);但编译提示说 
    'OnDraw' : cannot convert parameter 1 from 'class CTestDoc *' to 'class CDC *'
      

  9.   

    不要调用OnDraw。只要调用pTestView->Invalidate()就可以了。