程序启动后最大化窗口,在onsize中获取的窗口尺寸不正确?解决思路

程序启动后最大化窗口,在onsize中获取的窗口尺寸不正确?
我的屏幕分辨率目前是1024*768

InitInstance:
m_pMainWnd-> ShowWindow(SW_SHOWMAXIMIZED);
m_pMainWnd-> UpdateWindow();

我在cview::OnInitialUpdate中
GetWindowRect(&rect);
nWidth   =   rect.Width();
nHeight=   rect.Height();
发现width,height为760---432,这个是SW_NORMAL的大小,

后来我在cview:onsize()中
trace了width,height的变化,结果如下:
在OnInitialUpdate之前onsize做了8次
963---752
0---0
760---491
760---491
760---491
760---432
760---432
760---432(这个是后来在OnInitialUpdate获取的大小)


760---432?但我现在应该是最大化啊,963---752还差不多,为什么会这样呢?


我想在OnInitialUpdate中获取最大化后的view的尺寸,应该怎么做呢?

------解决方案--------------------
MFC会先调用onsize在调用init,在m_pMainWnd-> ShowWindow(SW_SHOWMAXIMIZED);后调用就可以了
------解决方案--------------------
原因是我重载了
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CSDIFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs

cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE
| WS_THICKFRAME | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_MAXIMIZE;

return TRUE;
}