当前位置:C++技术网 > 资讯 > MFC单文档修改标题

MFC单文档修改标题

更新时间:2015-12-10 12:17:28浏览次数:1+次

在win32中直接就能修改标题,那么在MFC封装类库中呢?
在MFC单文档程序中,你可以看到一个Doc类,在这个类中有一个函数OnNewDocument函数,我们可以在此函数处设置一个断点,然后调试运行程序,就会发现程序启动后就会进入这个OnNewDocument函数。继续运行程序,当程序界面出现后,单击【文件\新建】菜单项,发现程序也将进入到这个OnNewDocument函数中。由此我们可以知道,OnNewDocument函数是【文件\新建】命令处理的一部分,是有框架调用的一个虚函数。

我们知道,直接运行单文档程序后,程序会建立一个单文档,此时文档的标题为“无标题”:

既然OnNewDocument这个函数在程序启动时就要被调用,因此可以在这个函数中设置文档的标题。也就是,我们在Doc类的OnNewDocument函数中修改文档的标题,这可以通过使用CDocument类中的成员函数:SetTitle来实现。下面我们就来实例操作:

BOOL CSetTitelDoc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	// TODO: 在此添加重新初始化代码
	// (SDI 文档将重用该文档)
	SetTitle(L"修改标题");
	return TRUE;
}
代码实现:

第二种方法,我们可以修改字符串资源来修改文档名称:
打开资源文件IDR_MAINFRAME字符串资源来实现。打开程序的字符串资源表,可以看到其中有个IDR_MIANFRAME的字符串资源,该字符串资源实际上是由“\n”字符分割的7个紫川:

上图可以看出,前面两个“\n"字符之间没有任何内容,正因为如此,文档才没有标题。我们可以在这两个”\n“之间加一个标题: