您的位置:首页 > 其它

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

2012-05-02 11:25 344 查看
在默认情况下,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窗口标题示例”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: