Re: MDI frame & MDI child window questions
This came up a while back, and the solution that I found was to take over
OnSize, and set the title to blank when the child frame is maximized.
//this is used so that the title is not flickered in the title bar
inline void WINAPI SetInternalWindowText(HWND hwnd, LPCTSTR lpText)
{
// Turn off WS_VISIBLE if necessary to avoid painting
DWORD dwStyle = ::GetWindowLong(hwnd, GWL_STYLE);
if (dwStyle & WS_VISIBLE)
::SetWindowLong(hwnd, GWL_STYLE, dwStyle & ~WS_VISIBLE);
// Call DefWindowProc directly to set internal window text.
DefWindowProc(hwnd, WM_SETTEXT, 0, (LPARAM)lpText);
// Restore parent visible state
if (dwStyle & WS_VISIBLE)
::SetWindowLong(hwnd, GWL_STYLE, dwStyle);
}
void CChildFrame::OnSize(UINT nType, int cx, int cy)
{
CMDIChildWnd::OnSize(nType, cx, cy);
if (nType == SIZE_MAXIMIZED)
{
//this is to keep it from flickring the doc title in the frame title
area
SetInternalWindowText(m_hWnd,"");
}
if (nType == SIZE_RESTORED || nType == SIZE_MINIMIZED)
{
SetWindowText("This is the view");
}
}
void CChildFrame::OnUpdateFrameTitle(BOOL bAddToTitle)
{
SetInternalWindowText(m_hWnd,"This is the view");
}
http://www.learnstar.com/AliR/MDITitle.zip
AliR.
"Newsgroupie" <buzbymb@yahoo.co.uk> wrote in message
news:564f87eb-13f0-4ba4-8546-768ed2dcb1a1@27g2000hsf.googlegroups.com...
Hello fellow Newsgroupies,
When an MDI child window is maximized within its MDI frame window the
title of the child window is wrapped in square brackets and added to
the end of the frame windows title.
Is there anyway to prevent this from happening?
I want everything else to happen as normal except for the child title
to be added to the frame title.
Many thanks,
'Newsgroupie'
England