vc++ 多文档视图结构-VC多文档视图 error C3861: "AfxGetFileTitle"找不到标识符

问题描述

VC多文档视图 error C3861: "AfxGetFileTitle"找不到标识符

我在做的一个多文档视图的工程里处理关闭视图之后的处理文件的相关操作,就是关闭试图后程序出现提示"是否保存对****的更改?"的对话框,这个对话框是在SaveModified()函数中处理出现的,我需要对用户选择点击"是"或者"否"以及"取消"三个按钮后在重载的SaveModified中做处理,此函数中的默认处理中有个函数是AfxGetFileTitle,因为我只在原来的版本基础上处理选择"否"的情况,所以其他的都不做改动,但在编译我自己的版本时出现提示说"error C3861: “AfxGetFileTitle”: 找不到标识符"这个提示,是什么原因呢?

解决方案

这是一个没有公开的函数,你可以用CFile::GetFileTitle代替

解决方案二:

代码我现在就基本还买修改只是重载了一次啊,内容没怎么变,代码如下:
代码基本上没做声明修改,代码如下:
BOOL CCNCMonitorDoc::SaveModified()
{
if (!IsModified())
return TRUE; // ok to continue

CDataRecoveryHandler *pHandler = NULL;
if (AfxGetApp())
{
// if close is triggered by the restart manager, the file
// will be auto-saved and a prompt for save is not permitted.
pHandler = AfxGetApp()->GetDataRecoveryHandler();
if (pHandler != NULL)
{
if (pHandler->GetShutdownByRestartManager())
return TRUE;
}
}

// get name/title of document
CString name;
if (m_strPathName.IsEmpty())
{
// get name based on caption
name = m_strTitle;

if (pHandler != NULL)
{
// remove "[recovered]" from the title if it exists
CString strNormalTitle = pHandler->GetNormalDocumentTitle(this);
if (!strNormalTitle.IsEmpty())
name = strNormalTitle;
}

if (name.IsEmpty())
ENSURE(name.LoadString(AFX_IDS_UNTITLED));
}
else
{
// get name based on file title of path name
name = m_strPathName;
AfxGetFileTitle(m_strPathName, name.GetBuffer(_MAX_PATH), _MAX_PATH);
name.ReleaseBuffer();
}

CString prompt;
AfxFormatString1(prompt, AFX_IDP_ASK_TO_SAVE, name);
switch (AfxMessageBox(prompt, MB_YESNOCANCEL, AFX_IDP_ASK_TO_SAVE))
{
case IDCANCEL:
return FALSE; // don't continue

case IDYES:
// If so, either Save or Update, as appropriate
if (!DoFileSave())
return FALSE; // don't continue
break;

case IDNO:
// If not saving changes, revert the document

break;

default:
ASSERT(FALSE);
break;
}
return TRUE; // keep going
}

我先要修改的地方是在
case IDNO:
// If not saving changes, revert the document
这个地方添加用户电机"否"按钮不保存文件的处理,这个SaveModified函数是CDocument类的一个虚函数,里面有个AfxGetFileTitle函数,我现在在自己的doc类中的重载函数里把所有内容都弄进去,其他都没改,编译时就提示“error C3861: “AfxGetFileTitle”: 找不到标识符”的内容

解决方案三:

有人能回到这个问题吗?,我只想在引用原内容的情况下加入其他的操作。

解决方案四:

如果你不修改,能否编译通过?应该是可以吧。
这样,就需要你研究一下你是如何修改代码的?或者,将代码贴出来分析。

时间: 2024-10-31 19:55:08

vc++ 多文档视图结构-VC多文档视图 error C3861: "AfxGetFileTitle"找不到标识符的相关文章

vc++-MFC多文档视图结构如何修改框架窗口的大小?

问题描述 MFC多文档视图结构如何修改框架窗口的大小? 多文档视图结构在CMainFrame::PreCreateWindow修改cs参数不起作用,单文档结构却可以. 解决方案 试了一下 在CMyApp::InitInstance()中调用MoveWindow和SetWindowPos都是可以的 解决方案二: 调用MoveWindow试试看 解决方案三: 在PreCreateWindow中用SetWindowPos调整大小 解决方案四: 可在主框架的OnSize函数里面动态改变

深入分析MFC文档视图结构(项目实践)

文档视图结构(Document/View Architecture)是MFC的精髓,也是Observer模式的具体实现框架之一,Document/View Architecture通过将数据和其表示分开,提供了很好的数据层次和表现层次的解耦.然而,虽然我们使用MFC AppWizard就可以很轻松地获得一个支持Document/View Architecture的MFC程序框架,Document/View Architecture本身的复杂性加上VC产生的一系列代码足够让我们眼花缭乱,一时陷入云

mfc-文档/视图结构(MFC) 如何做到不显示 MainFrame 的主菜单

问题描述 文档/视图结构(MFC) 如何做到不显示 MainFrame 的主菜单 文档/视图结构(MFC) 如何做到不显示 MainFrame 的主菜单 解决方案 VS2008SP1之前的SDI/MDI: SDI: CMainFrame的OnCreate函数中SetMenu(NULL); MDI: App类的InitInstance函数中pMainFrame->m_hMenuDefault=NULL;, CMainFrame类的OnSize中调用 if(GetSafeHwnd()) { SetM

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.1.1 XML文档的结构

3.1.1 XML文档的结构 XML文档应当以一个文档头开始,例如: 严格来说,文档头是可选的,但是强烈推荐你使用文档头. 注意:因为建立SGML是为了处理真正的文档,因此XML文件被称为文档,尽管许多XML文件是用来描述通常不被称作文档的数据集的. 文档头之后通常是文档类型定义(Document Type Def?inition,DTD),例如: 文档类型定义是确保文档正确的一个重要机制,但是它不是必需的.我们将在本章的后面讨论这个问题. 最后,XML文档的正文包含根元素,根元素包含其他元素.

VC 2005 解决方案的目录结构设置和管理

VC 2005 解决方案的目录结构设置和管理   Roger (roger2yi@gmail.com)   一个中等规模的解决方案通常都会包含多个项目,其中一些项目产出静态库,一些产出动态库,一些用于单元测试,还有的产出最终的应用程序执行档.除此以外,根据项目的需求,还会使用一些第三方的库.   所以为解决方案设置一个合理的目录结构,不但可以使得代码管理更井井有条,项目成员之间也更容易相互配合,更重要的是能够使得最终应用程序的安装包制作,源代码打包发布和转移变得十分容易.   解决方案与项目:

Word2010主控文档完成多人协同文档编辑

本文主要讲述如何巧妙应用Word2010软件的主控文档功能,轻松完成多人协同文档编辑工作. 企业的年终总结报告通常要涉及多个专业而且篇幅也比较长,因此往往需要由几个人共同编写才能完成.协同工作是一个相当复杂的过程,我们需要有一个可以轻松搞定重复拆分.合并主文档的技巧. Word 2010在大纲视图下的主控文档功能正好可以解决这个难题.下面我们一个实例来讲解协同编辑具体的操作步骤,这个总结报告包含开头总述.财务情况.公司业绩.人员管理.安全制度.总结拆6个文档. 1.快速拆分 先用Word 201

如何在Word文档中显示过宽文档

在打开Word文档时,有时会发现因为文档过宽,屏幕上显示不全,这可怎么办?总不能看一行就拖动一次水平滚动条吧!这时我们可以重新调整行的宽度,使其适合文档窗口的大小. 在Word2003中显示过宽文档的方法 ①单击菜单栏中的"工具"选项中的"选项"命令.   ②在弹出的"选项"页面框中选择"视图"选项卡,然后在"大纲视图和普通视图选项"栏下选中"窗口内自动换行"复选框,最后单击"

工具分享——将C#文档注释生成.chm帮助文档

原文:工具分享--将C#文档注释生成.chm帮助文档 由于最近需要把以前的一个项目写一个文档,但一时又不知道写成怎样的,又恰好发现了可以生成chm的工具,于是乎我就研究了下,感觉还不错,所以也给大家分享下.好了,不多废话,下面就来实现一下吧. 生成前的准备 在开始做之前,还是要补充说明一点:我们是通过C#文档注释生成的XML文件来生成帮助文档的.因此,第一步就是生成XML文档: 具体步骤:打开VS->随意创建一个项目(这里我用的是控制台项目),然后添加如下内容: /// <summary>

我和VC的故事(2)—Vc,给你一个大项目

对于梦里出现的人,我多少都会有些交待. 也许是那次VC走进我梦里的缘故,04年的我又对VC蠢蠢欲动了. 在魔兽世界没出来之前的2004年,泡泡堂在9月份突破70万人同时在线,毫无疑问是当年最火爆的网络游戏. 随着泡泡堂的火爆,Q版的游戏人物形象渐渐又一次回到了人们的视线,现在想想,这一切还真的是一个有趣的巧合.没错,那年,我在正常经营网站之外,开始致力于塑造新的中国卡通形象,一只可爱的恐龙.让人充满了神秘以及幻想的动物,当年的形象还有很多,依然存在我的电脑里.发一些,大家看看. 开发">