如何改变窗口标题

解决方案 »

  1.   

    BOOL SetWindowText(
      HWND hWnd,         // handle to window or control
      LPCTSTR lpString   // title or text
    );
      

  2.   

    调用CWnd : : SetWindowText可以改变任何窗口(包括控件)的标题。
    //Set title for application's main frame window .
    AfxGetMainWnd ( ) —> SetWindowText (_T("Application title") );//Set title for View's MDI child frame window .
    GetParentFrame ( ) —> SetWindowText ("_T ("MDI Child Frame new title") );//Set title for dialog's push button control.
    GetDigitem  (IDC_BUTTON) —> SetWindowText  (_T ("Button new title ") );
        如果需要经常修改窗口的标题(注:控件也是窗口),应该考虑使用半文档化
    的函数AfxSetWindowText。该函数在AFXPRIV.H中说明,在WINUTIL.CPP中实现,在
    联机帮助中找不到它,它在AFXPRIV.H中半文档化, 在以后发行的MFC中将文档化。
    AfxSetWindowText的实现如下:
    voik AFXAPI AfxSetWindowText (HWND hWndCtrl , LPCTSTR IpszNew )
    {
        itn nNewLen= Istrlen (Ipaznew);
        TCHAR szOld [256];
        //fast check to see if text really changes (reduces flash in the controls )
        if (nNewLen >_contof (szOld) ||
            : : GetWindowText (hWndCrtl , szOld , _countof (szOld) !=nNewLen ||
               Istrcmp (szOld , IpszNew )! = 0
    {
        //change it
             : : SetWindowText (hWndCtrl , IpszNew );
        }
    }
      

  3.   

    CWnd* pWnd = AfxGetMainWnd();
    pWnd->SetWindowText("your new title here!");