⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 改变vc++应用程序窗口的标题.htm

📁 改变VC++应用程序窗口的标题
💻 HTM
📖 第 1 页 / 共 2 页
字号:
lang=EN-US>:<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="mso-pagination: widow-orphan"><SPAN 
style="FONT-SIZE: 10.5pt">第一种方法<SPAN lang=EN-US>:利用ResourceView打开工程的资源,修改String 
Table中的<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="mso-pagination: widow-orphan"><SPAN lang=EN-US 
style="FONT-SIZE: 10.5pt">IDR_MAINFRAME的值。将原来的"Exam9\n\nExam9\nEXMFile(*.exm)\n.exm\nExam9.Document\nExam9 
Document"改为"标题改变示例<o:p></o:p></SPAN></P>
<P class=MsoNormal style="mso-pagination: widow-orphan"><SPAN lang=EN-US 
style="FONT-SIZE: 10.5pt">\n\nExam9\nEXM 
File(*.exm)\n.exm\nExam9.Document\nExam9 
Document"。这样改变后,主窗口标题就变为"-标题改变示例"。第二种方法:具体改变方法如下:<o:p></o:p></SPAN></P>
<P class=MsoNormal style="mso-pagination: widow-orphan"><SPAN 
style="FONT-SIZE: 10.5pt">改变<SPAN lang=EN-US> 
CMainFrame的成员函数PreCreateWindowO为:<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 1.4pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">BOOL 
CMainFrame::PreCreateWindow(CREATESTRUCT&amp;cs)<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 1.4pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">{<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 1.4pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">m_strTitle="上海市卢湾区业余大学</SPAN><SPAN 
lang=EN-US 
style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-ascii-font-family: 宋体">”</SPAN><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 2.15pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">return 
CFrameWnd::PreCreateWindow(cs);<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 2.15pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">}<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 2.15pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
style="FONT-SIZE: 10.5pt">这样改变后<SPAN 
lang=EN-US>,主窗口标题的形式就为"-上海市卢湾区业余大学"。<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 0.7pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 10.5pt">M_strTile是CFrameWnd的保护成员(要得到m_strTile更详细的信息,请打开\msdev\mfc\include\afxwin.h文件)。CMainFrame则是CFrameWnd类的派生类。<o:p></o:p></SPAN></P>
<P class=MsoNormal style="mso-pagination: widow-orphan"><SPAN 
style="FONT-SIZE: 10.5pt">在这两种改变方法中<SPAN 
lang=EN-US>,第二种方法优先级高。也就是说,改变了m_strTitle的值后,IDR_MAlNFRAME的值就不起作用。<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 3.35pt; mso-pagination: widow-orphan"><B><SPAN lang=EN-US 
style="FONT-SIZE: 10.5pt">2 对多文挡接口(MDI)类型窗口标题的改变<o:p></o:p></SPAN></B></P>
<P class=MsoNormal 
style="TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
style="FONT-SIZE: 10.5pt">在<SPAN 
lang=EN-US>MDI类型窗口中,主窗口标题和文档标题的次序,和SDl类型窗口中次序是不同的。结合具体例子说明,用VC的AppWizard创建一个名为"MDITitle"的多文挡类型的工程。创建完工程后,编译运行该工程,主窗口标题形式如下:"主窗口标题-文档标题"。<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="mso-pagination: widow-orphan"><B><SPAN lang=EN-US 
style="FONT-SIZE: 10.5pt">2.l 文挡标题的改变<o:p></o:p></SPAN></B></P>
<P class=MsoNormal 
style="TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 10.5pt">MDI类型窗口的文档标题也是由相应的文档类控制的。改变方法同SDI类型窗口类似,要改变标题,只要在相应的文档类中利用SetTitle()函数来改变文档标题。<o:p></o:p></SPAN></P>
<P class=MsoNormal style="mso-pagination: widow-orphan"><B><SPAN lang=EN-US 
style="FONT-SIZE: 10.5pt">2.2 主窗口标题的改变<o:p></o:p></SPAN></B></P>
<P class=MsoNormal 
style="TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 10.5pt">MDI类型主窗口标题的改变方法同SDI类型窗口类似。改变主窗口标题也有两种方法,通过改变IDR_MAINFRAME或m_strTitle的值就可实现改变主窗口标题的目的。同样,改变了m_strTitle值后,IDR_MAINFRAME的值就不起作用。<o:p></o:p></SPAN></P>
<P class=MsoNormal style="mso-pagination: widow-orphan"><B><SPAN lang=EN-US 
style="FONT-SIZE: 10.5pt">2.3 子窗口标题的改变<o:p></o:p></SPAN></B></P>
<P class=MsoNormal 
style="TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
style="FONT-SIZE: 10.5pt">在默认情况下<SPAN 
lang=EN-US>,MFC自动将子窗口标题设为该子窗口所打开的文档标题。但实际上,子窗口标题与该子窗口标题所打开的文档标题可以不一样。可做如下改动:<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
style="FONT-SIZE: 10.5pt">利用<SPAN lang=EN-US>ResourceView打开资源,修改String 
Table中的IDR_MAINFRAME的值为"上海市卢湾区业余大学",使得主窗口标题变成"上海市卢湾区业余大学"。<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
style="FONT-SIZE: 10.5pt">并将<SPAN lang=EN-US>BOOL 
CMDlTitleDoc::OnNewDocument()函数改为:<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="mso-pagination: widow-orphan"><SPAN lang=EN-US 
style="FONT-SIZE: 10.5pt">BOOL 
CMDlTitleDoc::OnNewDocument()<o:p></o:p></SPAN></P>
<P class=MsoNormal style="mso-pagination: widow-orphan"><SPAN lang=EN-US 
style="FONT-SIZE: 10.5pt">{<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 10.5pt">if(!CDocument::OnNewDocument())<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="TEXT-INDENT: 42pt; mso-pagination: widow-orphan; mso-char-indent-count: 4.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">return FALSE;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">static int count=0;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 1.9pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">char message[10];<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 1.2pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 10.5pt">wsprintf(message,"%s%d","文档",count);<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 1.2pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">SetTitle(message);<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 1.2pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">count++;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 2.4pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">return TRUE;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 2.4pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">}<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 2.4pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
style="FONT-SIZE: 10.5pt">通过以上修改<SPAN 
lang=EN-US>,主窗口标题栏被设置为:文档标题为"上海市卢湾区业余大学-文挡0"、"上海市卢湾区业余大学-文档1</SPAN></SPAN><SPAN 
lang=EN-US 
style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-ascii-font-family: 宋体">”</SPAN><SPAN 
style="FONT-SIZE: 10.5pt">……<B><SPAN 
lang=EN-US><o:p></o:p></SPAN></B></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 4.55pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
style="FONT-SIZE: 10.5pt">一下针对子窗口标题的修改作如下改动<SPAN 
lang=EN-US>:<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
style="FONT-SIZE: 10.5pt">将<SPAN 
lang=EN-US>CChildFrame::PrecreateWindow()函数改为:<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN-TOP: 2.4pt; mso-pagination: widow-orphan"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">BOOL 
CChiidFrame::PrecreateWindow(CREATESTRUCT&amp;cs)<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 2.4pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">cs.style 
&amp;=~(LONG)FWS_ADDTOTlTLE;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 2.15pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">return 
CMDIChildWnd::PrecreateWindow(cs);<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 2.15pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">}<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 2.15pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
style="FONT-SIZE: 10.5pt">要改变窗口类型<SPAN lang=EN-US>, 
这步工作必须做。常量问FWS_ADDTOTITLE是在文件\msdev\mfc\include\afxwin.h中定义。<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN-TOP: 2.6pt; mso-pagination: widow-orphan"><SPAN 
style="FONT-SIZE: 10.5pt">在<SPAN lang=EN-US> 
CMDlTitleView类中增加OnlnitialUpdate()函数:<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN-TOP: 2.6pt; mso-pagination: widow-orphan"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">void 
CMDlTitleView::OnlnitiaiUpdate()<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN-TOP: 2.6pt; mso-pagination: widow-orphan"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">{<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 2.6pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 10.5pt">CView::OninitialUpdate();<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="TEXT-INDENT: 21pt; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN 
lang=EN-US 
style="FONT-SIZE: 10.5pt">Getparent()-〉SetWindowText(GetDocument()-)GetTitle()+</SPAN><SPAN 
lang=EN-US 
style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-ascii-font-family: 宋体">”</SPAN><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">-上海卢湾区业余大学</SPAN><SPAN lang=EN-US 
style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-ascii-font-family: 宋体">”</SPAN><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">);<o:p></o:p></SPAN></P>
<P class=MsoNormal style="mso-pagination: widow-orphan"><SPAN lang=EN-US 
style="FONT-SIZE: 10.5pt">}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="mso-pagination: widow-orphan"><SPAN 
style="FONT-SIZE: 10.5pt">这样<SPAN 
lang=EN-US>,子窗口的标题栏的形式就为"文档名-上海卢湾区业余大学"。<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="MARGIN-TOP: 14.6pt; mso-pagination: widow-orphan"><SPAN 
style="FONT-SIZE: 10.5pt">参考资料<SPAN lang=EN-US>:<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN-TOP: 2.4pt; mso-pagination: widow-orphan"><SPAN 
lang=EN-US style="FONT-SIZE: 10.5pt">[1]Michaei Morrison:Sams Tech Yourself MFC 
in 24Hours<o:p></o:p></SPAN></P>
<P class=MsoNormal style="mso-pagination: widow-orphan"><SPAN lang=EN-US 
style="FONT-SIZE: 10.5pt">[2]David krugiinski:Programming Microsoft Visual 
C++,FiHh Edition<o:p></o:p></SPAN></P>
<P class=MsoNormal style="mso-pagination: widow-orphan"><SPAN lang=EN-US 
style="FONT-SIZE: 10.5pt">[3]Kate Gregory:Special Edition Using Visual 
C++5<o:p></o:p></SPAN></P></DIV></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -