在VS2010下新建一个MFC的多文档应用程序,程序默认的标题是“文档名-工程名”。图标默认的是写着MFC的三个方块。但在很多软件中都不是使用的默认设置,开发者们都将标题和图标改过,以符合项目要求,而且直观好看。

一.修改标题

标题分为前后两部分,前面一部分默认是文档名,后面一部分默认是工程名,比如我新建一个叫做UITEST的工程,那标题就是“UITEST1-UITEST”。后面都用这个工程为例。

1.修改前半部分:

可以重载文档类的虚函数SetTile,如下

void CTestDoc::SetTitle(LPCTSTR lpszTitle)

{

CDocument::SetTitle(L"你的标题");

}

也可以在UITESTDoc.app中,在BOOL CUITESTDoc::OnNewDocument()函数中添加SetTitle(L"你的标题")

2.修改后半部分:

改资源字符串

在资源视图的String Table中找到IDR_MAINFRAME,将其标题改为你想要的标题

3.去掉-:

去掉标题中间的-,只显示后面的标题,

方法1:通过重载CFramWnd类的OnUpdateFrameTitle函数

virtual void OnUpdateFrameTitle(BOOL NaDa);

void CMainFrame.:OnUpdateFrameTitle(BOOL NaDa)

{

CString csAppName;

csAppName.Format(AFX_IDS_APP_TITLE);

SetWindowText(csAppName);

}

此时显示的结果只有字符串资源AFX_IDS_APP_TITLE所定义的字符串,当然也可以把SetWindowText(csAppName)中的csAppName换成你想要的标题字符串。

方法2:在CMainFrame的PreCreateWindow函数中修改窗口风格

BOOL CMainFrame.:PreCreateWindow(CREATESTRUCT& cs)

{

cs.style. &= ~(LONG) FWS_ADDTOTITLE;

return CFrameWnd::PreCreateWindow(cs);

}

使用此方法,窗口的标题只显示IDR_MAINFRAME字符串中第一个\n之前的部分

二.修改图标

替换默认的MFC图标,先要自己画一个符合格式要求的位图或从外部导入一个图标,修改其属性名,假设为IDI_IDI1。在MainFrm的OnCreate()里添加如下代码:

HICON m_hIcon;

m_hIcon = AfxGetApp()->LoadIcon(IDI_IDI1);

SetIcon(m_hIcon, TRUE); // Set big icon

SetIcon(m_hIcon, FALSE); // Set small icon

其中big icon是32×32,small icon是16×16

【VS开发】修改MainFrame窗口名称1的更多相关文章

  1. 修改Tomcat窗口名称

      做java开发,tomcat可以说是最常用的web容器.但是当开启多个tomcat容器之后,就不太容器轻松区别哪了个dos窗口是跑的哪个web应用了.此时可以给每一个窗口命名: 具体办法是:修改% ...

  2. tomcat7.0.47 修改tomcat窗口名称

    最近使用的是 apache - tomcat 集群,为了方便管理上想要修改tomcat命令窗口的名字来区分不同的tomcat,我在网上找了些资料,顺便总结一下,方便自己,方便他人 修改如下: 找到to ...

  3. 在Azure DevOps Server (TFS) 中修改团队项目名称

    概述 [团队项目]: 在Azure DevOps Server (原名TFS)中,团队项目(Team Project)是一个最基本的数据组织容器,包含了一个团队或者信息系统中的所有信息,包括源代码.文 ...

  4. myeclipse如何修改Web项目名称

    1. 使用myeclipse进行Web项目开发时,有时候项目名称重命名了,但是WEB项目在tomcat里边的名称还是原来的名称,是需要重新命名的.下边详细介绍一下如果和修改web项目名称,myecli ...

  5. Unity 修改windows窗口的标题

    修改windows窗口的标题名称,就是修改下图的东西: 第一种: using UnityEngine; using System; using System.Runtime.InteropServic ...

  6. Azure PowerShell (2) 修改Azure订阅名称

    <Windows Azure Platform 系列文章目录> Update: 2016-01-11 笔者文档主要都是用Azure PowerShell 0.x版本来实现的,比如0.98版 ...

  7. DataTable 删除列 调整列顺序 修改列标题名称

    DataTable dt = new DataTable(); //删除列 dt.Columns.Remove("Sex"); dt.Columns.Remove("Ag ...

  8. myeclipse如何修改Web项目名称,eclipse如何修改项目名字

    myeclipse如何修改Web项目名称 1.复制一个现有的项目,重命名项目名称 2.这里的项目名称重新命名了,但是Web项目本质下的名称还是没有改变的.所以需要更改,更改方法-->选择项目右击 ...

  9. Linux修改挂载目录名称

    Local系统管理员新增了一个VG,将一个原挂载点/u02改为了/u02-old, 如下所示. [root@mylnx01 ~]# df -h Filesystem            Size  ...

随机推荐

  1. NFS的搭建

    NFS是Network File System的简写,即网络文件系统. 网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件.通过使用N ...

  2. 本机的IP地址无法打开(Vue项目)

    1, 首先找到使用vue脚手架建立项目config文件中的index.js文件2, 修改dev里面的host属性值:改成 host: ‘0.0.0.0’3, 最后在局域网下,使用自己的ip进行连接,同 ...

  3. OpenCascade建模:构建圆环API--BRepPrimAPI_MakeTortus()

    构建圆环API--BRepPrimAPI_MakeTortus() 函数语法: BRepPrimAPI_MakeTortus( const Standard_Real R1, const Standa ...

  4. 闰年计算——JavaScript 语言计算

    ㈠闰年是如何来的? 闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的.补上时间差的年份为闰年. ㈡什么是闰年? 凡阳历中有闰日(二月为二十九日)的年, ...

  5. 在linux 下安装nginx

    1.编译安装Nginx 官网:http://wiki.nginx.org/Install 下载 # wget http://nginx.org/download/nginx-1.8.0.tar.gz ...

  6. QT5 Even 事件

    事件的引入: 实现功能: 1.点击button 文本框两字改变成button被按下;很简单的在button上转到槽对lineEdit->setTest()设置即可; void myWidget: ...

  7. 暑假集训#2 div1 J 四点直角 J - Space Invader 四点共面+跨立实验

    题意:给你四个点,判断能否先依次通过A,B两点,然后再在某个地方只进行一次直角转弯再一次经过C,D两点: #include <iostream> #include <cstdio&g ...

  8. POJ 3061  Subsequence   尺取法   挑战146页

    ---恢复内容开始--- Subsequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10487   Accept ...

  9. NOI 2019 AFO 记

    Text 真的退役了... 非常抱歉 这篇文章暂时咕掉了

  10. scala实战学习-快速排序

    def qSort(a:List[Int]):List[Int]={ if(a.length < 2) a else qSort(a.filter(a.head > _)) ++ a.fi ...