如何修改MFC窗口标题
来源:互联网 发布:塞班系统下载软件 编辑:程序博客网 时间:2024/05/20 04:46
MFC程序的默认的标题是“无标题-title”,其中title是应用程序的名称,我们应如何修改MFC窗口标题来符合自己的要求?
MFC程序的文档类中定义了一个虚函数SetTitle,用于设置窗口标题的前半部分,如果只是要修改“无标题”部分,可以重载文档类的该函数。窗口标题的后半部分可以通过SetWindowText设置,也可以编辑字符串资源中的IDR_MAINFRAME字符串,将第一个/n之前的字符串替换掉即可,而如果你想把“无标题”部分除掉,则必须修该窗口的风格。
MFC程序的文档类中定义了一个虚函数SetTitle,用于设置窗口标题的前半部分,如果只是要修改“无标题”部分,可以重载文档类的该函数。窗口标题的后半部分可以通过SetWindowText设置,也可以编辑字符串资源中的IDR_MAINFRAME字符串,将第一个/n之前的字符串替换掉即可,而如果你想把“无标题”部分除掉,则必须修该窗口的风格。
一、修改前半部分
1) 可以重载文档类的虚函数SetTitle
void CTestDoc::SetTitle(LPCTSTR lpszTitle)
{
CDocument::SetTitle(L"你的标题");
}
也可以在 CTestDoc::OnNewDocument()中添加SetTitle(L"你的标题");
1) 可以重载文档类的虚函数SetTitle
void CTestDoc::SetTitle(LPCTSTR lpszTitle)
{
CDocument::SetTitle(L"你的标题");
}
也可以在 CTestDoc::OnNewDocument()中添加SetTitle(L"你的标题");
二、修改后半部分
1) 修改资源字符串:
将资源文件中的IDR_MAINFRAME修改为
修改此处/n/nChange/n/n/nChangeTitle.Document/nChange Document
将资源文件中的IDR_MAINFRAME修改为
修改此处/n/nChange/n/n/nChangeTitle.Document/nChange Document
资源字符串中各子串的含义可以参考:IDR_MAINFRAME字符串资源中各子串的含义
2) 使用框架窗口类的SetWindowText(L"你的标题"):
在应用程序类CTestApp::InitInstance()中调用如下语句
m_pMainWnd->SetWindowText(L"你的标题");
或者在其他地方用AfxGetMainWnd()->SetWindowText(L"你的标题");
在应用程序类CTestApp::InitInstance()中调用如下语句
m_pMainWnd->SetWindowText(L"你的标题");
或者在其他地方用AfxGetMainWnd()->SetWindowText(L"你的标题");
3) 如果您想除掉标题中间的“-”,可以通过重CFramWnd类的OnUpdateFrameTitle函数,这个函数在VC提供的帮助文件中找不到,必须手工添加
virtual void OnUpdateFrameTitle(BOOL NaDa);
virtual void OnUpdateFrameTitle(BOOL NaDa);
void CMainFrame::OnUpdateFrameTitle(BOOL NaDa)
{
CString csAppName;
csAppName.Format(AFX_IDS_APP_TITLE);
SetWindowText(csAppName);
}
此时显示的结果只有字符串资源AFX_IDS_APP_TITLE所定义的字符串
{
CString csAppName;
csAppName.Format(AFX_IDS_APP_TITLE);
SetWindowText(csAppName);
}
此时显示的结果只有字符串资源AFX_IDS_APP_TITLE所定义的字符串
4) 是在CMainFrame的PreCreateWindow函数中修改窗口风格:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style &= ~(LONG) FWS_ADDTOTITLE;
return CFrameWnd::PreCreateWindow(cs);
}
使用此方法,窗口的标题只显示IDR_MAINFRAME字符串中第一个/n之前的部分
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style &= ~(LONG) FWS_ADDTOTITLE;
return CFrameWnd::PreCreateWindow(cs);
}
使用此方法,窗口的标题只显示IDR_MAINFRAME字符串中第一个/n之前的部分
- 如何修改MFC窗口标题
- 如何修改MFC窗口标题
- 如何修改MFC窗口标题
- 如何修改MFC窗口标题
- 如何修改MFC窗口标题
- MFC 如何修改窗口的标题CFrameWnd
- 如何修改MFC对话框的窗口标题
- 修改MFC窗口的标题
- 修改MFC主窗口标题
- 修改MFC窗口标题 & 图标(转载)
- 【转载】修改MFC窗口标题 & 图标
- MFC修改主窗口的标题
- 修改MFC窗口标题和图标
- 修改MFC窗口标题和图标
- 修改MFC窗口标题和图标
- MFC之修改单文档窗口标题
- 修改MFC窗口标题和图标
- 如何修改MFC单文档的“无标题”、中间的横线、后面的窗口标题。
- pyqt4信号与槽之间参数传递
- MFC 中获取各种类指针的方法
- PyQt4连接sqlite数据库
- 在刷新窗口时经常要调用重绘函数
- TOAD技巧
- 如何修改MFC窗口标题
- Linux的防火墙关闭与开启详解
- VC下加载多种格式图片的方法总结
- debian 用户和组操作
- 14岁初中生—— 踏踏实实的人生也最美
- 如何在MFC窗口显示BMP和JPG图片
- centos 6.2用yum安装中文输入法
- java自定义注解
- CRecordset类的常用成员函数 成员变量 以及操作实例