Whenever window gets resized, I usually take the following approach. This should work for you as well.
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
GetClientRect(winh, &winRect);
//Use winRect to calculate winHeight and winWidth.
if(!fullScreen)
{
d3dpp.Windowed = TRUE;
d3dpp.BackBufferHeight = winHeight;
d3dpp.BackBufferWidth = winWidth;
}
else
{
d3dpp.Windowed = FALSE;
d3dpp.BackBufferWidth = (LONG) ::GetSystemMetrics(SM_CXSCREEN);
d3dpp.BackBufferHeight = (LONG) ::GetSystemMetrics(SM_CYSCREEN);
d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
}
D3DDISPLAYMODE d3ddm;
pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm);
pd3dpp->BackBufferFormat = d3ddm.Format;
// Call CreateDevice