#include FrameWindow::FrameWindow() : mhWnd(0) { } FrameWindow::~FrameWindow() { } long FAR PASCAL FrameWindow::FrameWndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam) { FrameWindow *pWindow=FrameWindow::GetPointer(hWnd); if(pWindow==0) { if(WM_CREATE==message) { ::DefFrameProc(hWnd,(HWND)0,message,wParam,lParam); LPCREATESTRUCT lpcs=(LPCREATESTRUCT)lParam; pWindow=(FrameWindow *)lpcs->lpCreateParams; FrameWindow::SetPointer(hWnd,pWindow); pWindow->SetHandle(hWnd); return pWindow->WndProc(message,wParam,lParam); } else if(WM_CREATE==message)return pWindow->WndProc(message,wParam,lParam); else return ::DefFrameProc(hWnd,(HWND)0,message,wParam,lParam); } else return pWindow->WndProc(message,wParam,lParam); }