【VS开发】修改MainFrame窗口名称1
在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开发】如何给console控制台程序更换应用程序图标
- 【VS开发】uafxcwd.lib(afxmem.obj) : error LNK2005: 已经在 LIBCMTD.lib(new.obj) 中定义错误解决方案
- 【神经网络与深度学习】【VS开发】【CUDA开发】VS2013 配置CUDNN V4 DEMO
- 【VS开发】visual studio 2015的NuGet Manager解决方案管理功能
- 【VS开发】利用VS2015的工程文件来复制另外一个工程的配置的使用说明
- 【神经网络与深度学习】Caffe训练执行时爆出的Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type
- 【Qt开发】【VS开发】VS2010+Qt开发环境搭建
- 【VS开发】使用WinPcap编程(1)——获取网络设备信息
- 【VS开发】如何移植对话框?
- 【VS开发】免费打工仔:一个完善的ActiveX Web控件教程
- 【VS开发】【图像处理】RGB各种格式
- 【VS开发】 自己编写一个简单的ActiveX控件——详尽教程
- 【VS开发】修改MainFrame窗口名称1
- 【DSP开发】【VS开发】MUX和DEMUX的含义
- 【VS开发】使用CTabView分割多页卡窗口
- 【VS开发】修改窗口背景颜色大全
- 【VS开发】修改窗口背景颜色大全
- 【VS开发】VSTO 学习笔记(十)Office 2010 Ribbon开发
- 【VS开发】文件共享内存2
- 【VS开发】fopen 文本文件与二进制文件区别
- 【VS开发】Return与Exit的区别
- 劣胜优汰,等离子vs.液晶是一个经典的龟兔赛跑案例
- python核心编程中的对象值比较VS对象身份比较(转载)
- Docker Swarm vs Kubernetes
- vs code 代码格式化整理