Здравствуйте, stf, Вы писали:
stf>не подскажет ли уважаемый All как изменить текст в titlebar разных окнах CChildFrame
stf>У меня есть несколько отображений одного и тогоже документа в разных фраймах и текст в title один и тот же от первого созданного отображения в template
В MSVC 6 делали так:
class CMDITtlChildWnd : public CMDIChildCloseRequestFrame
{
DECLARE_DYNCREATE(CMDITtlChildWnd)
public:
CMDITtlChildWnd();
CString m_sFrameTitle;
virtual char *GetStdFrameTitle() { return ""; }
LPCSTR GetFrameTitle() { return m_sFrameTitle; }
void UpdateFrameTitle(BOOL bAddToTitle) { OnUpdateFrameTitle(bAddToTitle); } // public- æ¨ï
void SetFrameTitle(LPCSTR pszFrameTitle) { m_sFrameTitle = pszFrameTitle; }
protected:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMDITtlChildWnd)
public:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
virtual void ActivateFrame(int nCmdShow);
//}}AFX_VIRTUAL
// Implementation
public:
virtual void OnUpdateFrameTitle(BOOL bAddToTitle);
virtual ~CMDITtlChildWnd();
};
void CMDITtlChildWnd::OnUpdateFrameTitle(BOOL bAddToTitle)
{
if (m_sFrameTitle.GetLength() == 0)
m_sFrameTitle = GetStdFrameTitle();
CMDIChildWnd::OnUpdateFrameTitle(bAddToTitle);
if (m_sFrameTitle.GetLength() != 0)
{
CDocument* pDoc = GetActiveDocument();
if (pDoc != NULL)
{
SetWindowText(pDoc->GetTitle() + " - " + GetFrameTitle());
}
}
}
И указывали этот CMDITtlChildWnd в CMultiDocTemplate