Заголовок CMainFrame и CChildFrame
|
Очень многим не нравятся заголовки фреймов, которые MFC пишет по умолчанию. Иногда просто нужен заголовок, в котором не учавствовало бы название документа. Задание заголовка происходит в виртуальной функции void CFrameWnd::OnUpdateFrameTitle(BOOL bAddToTitle); Переопределив эту функцию, можно менять название фрейма по своему усмотрению. Вот как это может выглядеть для класса CChildFrame : public CMDIFrameWnd #include <afxpriv.h> // файл "afxpriv.h" нужен для объявления функции void AFXAPI AfxSetWindowText(HWND hWndCtrl, LPCTSTR lpszNew);
void CChildFrame::OnUpdateFrameTitle(BOOL bAddToTitle) { // сначало обновим название главного фрейма приложения GetMDIFrame()->OnUpdateFrameTitle(bAddToTitle); TCHAR szText[256+_MAX_PATH]; // здесь можно задать свой заголовок фрейма. lstrcpy(szText, "Doc Title : "); // добавим к нашей строке название документа. CDocument* pDocument = GetActiveDocument(); if (pDocument == NULL) lstrcat(szText, m_strTitle); else lstrcat(szText, pDocument->GetTitle());
AfxSetWindowText(m_hWnd, szText); } Для заголовка главного фрейма приложения все тоже самое кроме GetMDIFrame()->OnUpdateFrameTitle(bAddToTitle). Эта строчка не нужна. |