VC中如何将MDI的多个子窗体设置为不同的标题

在默认情况下,MFC自动将子窗口标题设为该子窗口所打开的文档标题。但实际上,子窗口标题与该子窗口标题所打开的文档标题并不是同一回事。我们可做如下实验:
   (利用ResourceView打开资源,修改String Table中的IDR_MAINFRAME的值为“vc编程”,使得主窗口标题变成“VC编程”。
   (将BOOL CMDITITleDoc::OnNewDocument()函数改为:
   BOOL CMDITITleDoc::OnNewDocument()
   {
if (!CDocument::OnNewDocument())
return FALSE;
static int count=0;
char message[10];
wsprintf (message,"%s%d","文档",count);
SetTITle (message);
count++;
return TRUE;
   }
   设置文档标题为“文档0”、“文档1”... 。
   (r)将CChildFrame ::PreCreateWindow() 函数改为:

//注意,是CChildFrame中的PreCreateWindow()函数,不是View中的
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
   {
cs.style &=~ (LONG) FWS_ADDTOTITLE;
return CMDIChildWnd::PreCreateWindow(cs);
   }
改变窗口类型,这步工作必须做。常量FWS_ADDTOTITLE是在文件\ msdev \ mfc \include \afxwin.h中定义。
   (在CMDITitleView类中增加OnInITialUpdate () 函数:
void CMDITitleView::OnInITialUpdate()
   {
CView::OnInITialUpdate();
GetParent()->SetWindowText(GetDocument()->GetTiTle()+"-VC窗口标题示例");
   }这样,子窗口的标题栏的形式就为“文档名(- VC窗口标题示例”。

你可能感兴趣的:(编程,String,table,文档,mfc,include)