visual c++ - Overriding CDocument OnFileSave()



我该怎么做?如果您能提供消息映射和函数本身的代码,将不胜感激。

编辑:

更具体地说,我想知道OnFileSave()链接到OnSaveDocument(LPCSTR lpszPathName)OnFileSave如何获得lpszPathName?

你不需要做任何特别的事情来覆盖OnSaveDocument(...),它已经是CDocument中的虚拟函数,所以你的派生类可以在它的头文件中声明virtual BOOL OnSaveDocument(LPCTSTR lpszPathName);,然后在文档中实现它。消息映射中不需要任何内容。OnSaveDocument将被框架作为OnFileSave的一部分调用,OnFileSave是ID_FILE_SAVE基类中的处理程序。当OnFileSafe调用lpszPathName时,它引用m_strPathName,这是在打开文件或调用SetPathName时设置的。如果保存时为空,则提示用户输入文件名。

CDocument::OnFileSave是保存菜单命令的消息处理程序。要自己处理它,请将其放在文档类message map中:

ON_COMMAND(ID_FILE_SAVE, OnFileSave)

和添加你的函数:

void CYOURDOCUMENT::OnFileSave()
{
CDocument::OnFileSave();
}

要查看它所做的一切,请在函数中设置一个断点并开始单步执行。

相关内容

  • 没有找到相关文章

最新更新