【MFC】如何修改多文档视图的标签

news/2024/12/23 4:46:11/

新建工程同之前的几篇博客
新建一个调用菜单,并实现其内容
在这里插入图片描述
以下代码演示创建时设置标题,并保存到子框架中

#include "MFCApplication9Doc.h"
#include "MFCApplication9View.h"
void CMainFrame::On32771()
{CMFCApplication9Doc* pDoc;POSITION pos = theApp.m_pDocTemplate->GetFirstDocPosition();int i = 1;while (pos != NULL){pDoc = (CMFCApplication9Doc*)(theApp.m_pDocTemplate->GetNextDoc(pos));if (pDoc == NULL) break;POSITION pos1 = pDoc->GetFirstViewPosition();if (pos1 != NULL){while (TRUE){CMFCApplication9View* pView = (CMFCApplication9View*)pDoc->GetNextView(pos1);if(pView==NULL) break;CFrameWnd* pFrame = pView->GetParentFrame();CString strTitle;strTitle.Format(_T("第%d个页面"), i++);pFrame->SetWindowText(strTitle);pFrame->SetTitle(strTitle);}}}
}

为了在切换窗口时保持标题,需要修改子框架的以下函数
在这里插入图片描述

void CChildFrame::OnUpdateFrameTitle(BOOL bAddToTitle)
{CString str = GetTitle();SetWindowText(str);// CMDIChildWndEx::OnUpdateFrameTitle(bAddToTitle);
}

注意不要调用父类的函数
最后效果如下图:
在这里插入图片描述
源代码见文章绑定的资源


http://www.ppmy.cn/news/1557372.html

相关文章

PC寄存器(Program Counter Register)jvm

在JVM(Java虚拟机)中,PC寄存器(Program Counter Register)扮演着至关重要的角色。以下是对JVM中PC寄存器的详细解释: 一、定义与功能 定义: JVM中的PC寄存器,也被称为程序计数器,是对物理PC寄存器的一种抽象模拟。它用于存储当前线程所执行的字节码指令的地址,即指…

.NET重点

B/S C/S什么语言 B/S: 浏览器端:JavaScript,HTML,CSS 服务器端:ASP(.NET)PHP/JSP 优势:维护方便,易于升级和扩展 劣势:服务器负担沉重 C/S java/.NET/…

node.js的简单示例

Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,用于方便地构建快速、可扩展的网络应用。下面是一个简单的Node.js示例,它创建了一个简单的HTTP服务器,当访问服务器时,它会响应“Hello World” // 引入Node.js的HTTP模块…

源码分析之Openlayers中MousePosition鼠标位置控件

概述 本文主要介绍 Openlayers 中的MousePosition鼠标位置控件,该控件会创建一个元素在页面的右上方用来实时显示鼠标光标的位置坐标。该控件在实际应用很有效,可以实时获取鼠标位置,但是一般控件元素都会自定义。 源码分析 MousePosition…

Spring Cloud 2023的新特性与改进

随着技术的不断演进,Java生态系统中的重要框架Spring也在不断更新和改进。2023年,Spring Cloud发布了多个新版本,带来了许多令人兴奋的新特性和改进。本文将深入探讨Spring Cloud 2023的新特性与改进,帮助开发者更好地理解和应用这…

使用Python实现基于AR的教育应用:打破课堂的墙壁

友友们好! 我的新专栏《Python进阶》正式启动啦!这是一个专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会找到: ● 深入解析:每一篇文章都将…

备忘一个FDBatchMove数据转存的问题

使用FDBatchMove的SQL导入excel表到sql表,设置条件时一头雾水,函数不遵守sql的规则。 比如替换字段的TAB键值为空,replace(字段名,char(9),)竟然提示错误,百思不得其解。 试遍了几乎所有的函数,竟然是chr(9)。 这个…

vue-element-admin npm install 安装失败,tui-editor更名导致

导语: 本失败原因是由于tui-editor(富文本编辑器插件)更名造成的,现在已经更名为toast-ui/editor; 在一个是一直以为是我的git问题 报错代码:code 128 ..........,困扰了我好长时间&#xff…