我现在想用visual c++编写一个记事本程序,如何实现它的新建功能.我首先建立一个单文档应用程序,然后在程序中加入CFormView类,在该类中添加一个编辑框,用来显示文本,通过文档序列化,点击"新建"按钮,将编辑框原来的内容清空,我按照文档序列化的内容去操作,有问题,这是BOOL CText1Doc::OnNewDocument()
的代码
BOOL CText1Doc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE; // TODO: add reinitialization code here
// (SDI documents will reuse this document)
   CText1Doc pDoc;
pDoc.DeleteContents ();
pDoc.UpdateAllViews (NULL,1,(CObject*)&m_Text);
 CMainFrame* pWnd=(CMainFrame*)AfxGetApp()->m_pMainWnd ;
pWnd->ActivateFrame (1);


return TRUE;
}
请看一下,谢谢

解决方案 »

  1.   

    你单文档的view应该继承CEditView
      

  2.   

    再我现在的操作情况下,能不能编写记事本?用CEditView能行,我想用这种方法也尝试一下,了解在visual c++中的新建功能
      

  3.   

    你在CText1Doc中哪来的pDoc?
    另外CText1Doc::OnNewDocument是在新的文档建立以后被调用的,管好自己的数据就行了,不要去修改什么窗口的东西。
      

  4.   

    不明白你的意思,你使用的单文档框架,已经有“新建”了,你到底想要什么?
    上面也说了,象你这样
    CText1Doc   pDoc; 
    pDoc.DeleteContents   (); 
    真不知道在干什么,这个pDoc算什么东西?
    再说一遍:CText1Doc::OnNewDocument是在新的文档建立以后被调用的。你点击菜单或者工具栏上的“新建”不就建立新的文档了吗?
      

  5.   

    谢谢关注,CText1Doc pDoc;定义一个文档对象,操作CTExt1Doc::OnNewDocument(),我的想法是这样的,我想在CText1Doc类中实现记事本的"新建"功能,就在BOOL   CText1Doc::OnNewDocument() 

    if   (!CDocument::OnNewDocument()) 
    return   FALSE; 
    return   TRUE;
    }
    中加入了这段代码
     CText1Doc   pDoc; 
    pDoc.DeleteContents   (); 
    pDoc.UpdateAllViews   (NULL,1,(CObject*)&m_Text); 
      CMainFrame*   pWnd=(CMainFrame*)AfxGetApp()-> m_pMainWnd   ; 
    pWnd-> ActivateFrame   (1); 
    目的就是实现记事本的"新建"功能,
      

  6.   

    我现在想用visual   c++编写一个记事本程序,如何实现它的新建功能.我首先建立一个单文档应用程序,然后在程序中加入CFormView类,在该类中添加一个编辑框,用来显示文本,通过文档序列化,点击"新建"按钮,将编辑框原来的内容清空,比如说,我编辑框从文件读入数据后,我点击 "新建"后就要将编辑框中内容清除,就这样一个过程,
      

  7.   

    谢谢各位了,我已经把问题解决了,我的记事本程序也快要写出来了,不过谁曾经做过这样visual c++ 程序的记事本,可以将记事本的源代码发给我,我参照一下更好,邮箱[email protected],小弟不胜感激.