编译都过去了,无错误!代码如下,我定义了一个未归档的虚函数!
virtual void OnUpdateFrameTitle(bool bAddToTitle);void CMainFrame::OnUpdateFrameTitle(bool bAddToTitle)
{
CFrameWnd::OnUpdateFrameTitle(bAddToTitle);
CString title;
title = "股海冲浪";
SetWindowText(title);
}感觉挺简单的一个事,就是有问题,挺烦人,后来我直接用
AfxGetMainWnd()->SetWindowText("标题");  没用我上面的OnUpdateFrameTitle()也不行,提示还一样。请各位指教一下!!!

解决方案 »

  1.   

    模态对话框的标题要在OnInitDialog()里面确定!对话框一旦DoModal()后就不可改变了!
      

  2.   

    我觉得你出问题的地方是你用AfxGetMainWnd()得到的窗口句柄是临时的,那时窗口可能还没有
    创建,你最好用AfxGetApp()->m_pMainWnd来做,首先你要判断AfxGetApp()得到的指针是不是有效的.然后在用SetWindowText.如果你用基于SDI或MDI,我记得好像在Document有一个virtual
    function叫SetTitle,你override它呢也可以做到,你试试看
      

  3.   

    我不知道你的问题出在哪里,下面是我的设置标题的,可以用BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
    cs.style &= ~FWS_ADDTOTITLE;
    if( !CFrameWnd::PreCreateWindow(cs) )
    return FALSE;
    m_strTitle = "SQL Server 决策树生成器";
    return TRUE;
    }
      

  4.   

    谢谢,请问楼上的,你的那个m_strTitle 变量是从何而来的?这段代码我没看明白?
      

  5.   

    用下面的代码就可以实现了
    CMainFrame* pFrm=(CMainFrame*)AfxGetApp()->GetMainWnd();
    pFrm->SetWindowText("ABCDEF");
      

  6.   

    to edrftgyh(老胡) ( ) :
    "模态对话框的标题要在OnInitDialog()里面确定!对话框一旦DoModal()后就不可改变了!"
    是吗,这句话,不敢苟同!
      

  7.   

    谁说是模态了?
    怎么
    void CBbcvbDlg::OnButton2() 
    {
    SetWindowText("asdf");
    }又可以?
      

  8.   

    CMainFrame* pFrm=(CMainFrame*)AfxGetApp()->GetMainWnd();
    pFrm->SetWindowText("AAAA");必须得到FRAME~!
      

  9.   

    楼主,不用理m_strTitle是怎么来的,我也不太明白,可能是CMainFrame的一个成员吧。