Article ID: 129471
Article Last Modified on 11/21/2006
public:
WNDPROC* GetSuperWndProcAddr();
And add the following function to the .CPP file:
WNDPROC* CMDIClientWnd::GetSuperWndProcAddr() {
static WNDPROC NEAR pfnSuper = NULL;
return &pfnSuper;
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndMDIClient.SubclassWindow (m_hWndMDIClient)) { // Add
TRACE ("Failed to subclass MDI client window\n"); // Add
return (-1); // Add
} // Add
...
}
BOOL CMDIClientWnd::OnEraseBkgnd(CDC* pDC)
{
// Set brush to desired background color
CBrush backBrush(RGB(255, 128, 128));
// Save old brush
CBrush* pOldBrush = pDC->SelectObject(&backBrush);
CRect rect;
pDC->GetClipBox(&rect); // Erase the area needed
pDC->PatBlt(rect.left, rect.top, rect.Width(), rect.Height(),
PATCOPY);
pDC->SelectObject(pOldBrush);
return TRUE;
}
Keywords: kbhowto kbprogramming kbmdi KB129471