可以在 MDI 的button click 事件中加入 
GetParentFrame ()->SetWindowText (_T ("MDI Child Frame new title"));
改变标题,
但是怎样让窗口一启动就改变标题呢?》
放在OnInitialUpdate()中不行阿,在Mainfrm中有很多菜单,然后选择菜单后打开了不同的子窗体,
但是需要给每个子窗体一个指定的名字。

解决方案 »

  1.   

    在CView中的OnInitialUpdate里调用pDoc->SetTitle(_T("XXXXX"));我用过,可以实现的。
      

  2.   

    是这样的,我有很多formview的模版,然后每个菜单对应打开一个子窗体,窗体里面加载这个模版,代码如下:
    void CMainFrame::OnCheckAdd() 
    {
    // TODO: Add your command handler code here
    CMultiDocTemplate* pNewDocTemplate = new CMultiDocTemplate(
    IDR_SMSTYPE,
    RUNTIME_CLASS(CSMSDoc), // document class
    RUNTIME_CLASS(CMDIChildWnd), // frame class
    RUNTIME_CLASS(CCheckNew)); // view class CSMSApp *pApp=(CSMSApp*)AfxGetApp();
    pApp->AddDocTemplate(pNewDocTemplate);
    pNewDocTemplate->OpenDocumentFile (NULL,true);}每个菜单的对应模版只是 CCheckNew 这个地方不一样,
    但是它们的窗口名字一样,我想让它们名字不一样阿。
      

  3.   

    这样呀,那你可以对每个视分一个ID,然后对应不同的ID进行命名呀。可以通过GetActiveView来获取视类名称,然后再根据ID的不同进行命名了。呵呵,这只是我的思路,不知道能否实现了。
      

  4.   

    你把IDR_SMSTYPE每个都不同吧 CMultiDocTemplate* pDocTemplate;
    pDocTemplate = new CMultiDocTemplate(
    IDR_TEMPTYPE,
    RUNTIME_CLASS(CTempDoc),
    RUNTIME_CLASS(CChildFrame), // custom MDI child frame
    RUNTIME_CLASS(CTempView));
    AddDocTemplate(pDocTemplate);

    CMultiDocTemplate* pDocTemplateAsm;
    pDocTemplateAsm = new CMultiDocTemplate(
    IDR_TYPE1,
    RUNTIME_CLASS(CTempDoc),
    RUNTIME_CLASS(CChildFrame), // custom ASM MDI child frame 
    RUNTIME_CLASS(CTempView));
    AddDocTemplate(pDocTemplateAsm); CMultiDocTemplate* pDocTemplateEZ;
        pDocTemplateEZ = new CMultiDocTemplate(
    IDR_TYPE2,
    RUNTIME_CLASS(CTempDoc),
    RUNTIME_CLASS(CChildFrame), // custom MDI child frame
    RUNTIME_CLASS(CTempView));
    AddDocTemplate(pDocTemplateEZ);
    IDR_TYPE1:  \nLinHan\nLinHan-Asm\nAssemble Files (*.asm)\n.asm\nLin_asm\nLinHanDocument_asmIDR_TYPE2:   \nAngus\nAngus-Asm\nTxt Files (*.txt)\n.txt\nAng_asm\nAngusDocument_asm
    分别在字符窜里建立我的这段代码放在BOOL CTempApp::InitInstance()里,有你要的功能
      

  5.   

    我和楼上的兄才一样,
    但是问题是 我的 IDR_TYPE 都是一样的 ,
    我在 子窗体中 添加一个按钮,然后设置 事件命令 
    GetParentFrame ()->SetWindowText (_T ("MDI Child Frame new title"));就可以改变标题,但是如果把上面命令放在 OnInitialUpdate()
    里面就不能改变,
      

  6.   

    换种方式来说,我想让窗体启动完后自动执行一个语句,
    GetParentFrame ()->SetWindowText (_T ("MDI Child Frame new title"));
    怎么办?