修改MFC程序标题和程序的工具栏
1、一、修改前半部分1) 可以重载文档类的虚函数SetTitlevoid CTestDoc::SetTitle(LPCTSTR lpszTitle){CDocument::SetTitle(L"你的标题");}也可以在 CTestDoc::OnNewDocument()中添加SetTitle(L"你的标题");
2、二、修改后半部分1) 修改资源字符串:将资源文件中的IDR_MAINFRAME修改为修改此处\n\nChange\n\n\nChangeTitle.Document\nChange Document资源字符串中各子串的含义可以参考:IDR_MAINFRAME字符串资源中各子串的含义2)使用框架窗口类的SetWindowText(L"你的标题"):在应用程序类CTestApp::InitInstance()中调用如下语句m_pMainWnd->SetWindowText(L"你的标题");或者在其他地方用AfxGetMainWnd()->SetWindowText(L"你的标题");3) 如果您想除掉标题中间的“-”,可以通过重CFramWnd类的OnUpdateFrameTitle函数,这个函数在VC提供的帮助文件中找不到,必须手工添加virtual void OnUpdateFrameTitle(BOOL NaDa);void CMainFrame.:OnUpdateFrameTitle(BOOL NaDa){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之前的部分
3、修改MFC标题栏上的图标HICON m_hIcon;在MainFrm的OnCreate()里m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);SetIcon(m_hIcon, TRUE); // Set big iconSetIcon(m_hIcon, FALSE); // Set small iconIDR_MAINFRAME字符串资源中各子串的含义IDR_MAINFRAME字符串资源中包含7个子串,分别以\n结束,即如下格式:\n\n\n\n\n\n\n(1)CDocTemplate::windowTitle,主窗口标题栏上的字符串,MDI程序不需要指定,将以IDR_MAINFRAME字符串为默认值。(2)CDocTemplate::docName,缺省文档的名称。如果没有指定,缺省文档的名称是无标题。(3)CDocTemplate::fileNewName,文档类型的名称。如果应用程序支持多种类型的文档,此字符串将显示在"File/New"对话框中。如果没有指定,就不能够在"File/New"对话框处理这种文件。(4)CDocTemplate::filterName,文档类型的描述和一个适用于此类型的通配符过滤器。这个字符串将出现在“File/Open”对话框中的文件类型列表框中。要和CDocTemplate::filterExt一起使用。(5)CDocTemplate::filterExt,文档的扩展名。如果没有指定,就不能够在“File/Open”
4、如何去掉“无标题”1.在主程序中的InitInstance():m_pMainWnd->SetWindowText("你要显示的东西如果不想显示置空就行")2.在框架类的PreCreateWindow函数里修改风格BOOLCMainFrame::PreCreateWindow(CREATESTRUCT&cs){cs.style&=~FWS_ADDTOTITLE;//去除标题条中的文档名returnCFrameWnd::PreCreateWindow(cs);}
