请问VC++基于对话框的图片浏览器的全屏有关问题

请教VC++基于对话框的图片浏览器的全屏问题
友情各位高位出出招  我用vc++设计了一个基于对话框的图片浏览的播放器  但是在全屏的情况下会出现问题,即在浏览过程中选中全屏时仅仅是对话框进行了全屏 图片就被隐藏了 再次点击下一张时就可以实现全屏浏览的功能 请问是什么原因 谢谢各位高手了!
代码如下:
void CPhoto::OnPhotoNext() 
{

if( (++pos) == strpath.end() )
{
pos--;

CString str;
str.LoadString(IDS_PHOTO_NEXT);
MessageBox(str);  
}
else
{

m_sPath = (*pos);
Paint(); //画图函数
}
}
void CPhoto::OnPhotoAhead() 
{

if( pos == strpath.begin() )
{

CString str;
str.LoadString(IDS_PHOTO_AHEAD);
MessageBox(str);  

}
else
{
pos--;
m_sPath = (*pos);
Paint(); //画图函数
}
}
void CPhoto::OnPhotoFullstr() : Paint()
{

this->ShowWindow(SW_SHOWMAXIMIZED);
Invalidate();
}
void CPhoto::Paint()
{

IStream *pStm; //指向包含有图像数据的流的指针
IPicture *pPic;  
CFileStatus fstatus;
CFile file; //创建文件对象
LONG cb; //从流中读取的字节数

////////////////////////////////////////////////////////////////////////////////////////
/////打开文件并判断文件的可用性,并把文件内容放到流接口IStream的对象pStm中

if(file.Open(m_sPath,CFile::modeRead)&&file.GetStatus(m_sPath,fstatus)&&((cb = fstatus.m_size) != -1))
{
HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE,cb);

LPVOID pvData = NULL;

if(hGlobal != NULL)
{
if((pvData = GlobalLock(hGlobal)) != NULL)
{
file.ReadHuge(pvData,cb);
GlobalUnlock(hGlobal);
CreateStreamOnHGlobal(hGlobal,TRUE,&pStm);
}
}
}
///////////////////////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////////////////////
/////调用OleLoadPicture函数从流中装载图像并绘图

if(SUCCEEDED(OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID*)&pPic)))
{
//设置渲染图像用的设备环境句柄

CWnd* pWnd = GetDlgItem(IDC_PHOTO_VIEW); //得到一个指向Picture控件的句柄

CDC *pDC = pWnd->GetDC(); //转化成CDC类型的 

CRect rc;


OLE_XSIZE_HIMETRIC hmWidth; //在源图像上水平拷贝的数量
OLE_YSIZE_HIMETRIC hmHeight; //在源图像上垂直拷贝的数量

pPic->get_Height(&hmHeight);
pPic->get_Width(&hmWidth);
GetDlgItem(IDC_PHOTO_VIEW)->GetWindowRect(&rc);
 
int nWidth,nHeight;
nWidth = rc.Width();
nHeight = rc.Height();
HRESULT hr = pPic->Render(pDC->m_hDC,nWidth,0,-nWidth,nHeight,hmWidth,hmHeight,-hmWidth,-hmHeight,&rc);
 
pPic->Release();
 
}
//////////////////////////////////////////////////////////////////////////////////

}


void CPhoto::SetPath(CString *spath, int count)
{
m_strPath=spath; 
for(int i=0;i<count;i++)
{
strpath.push_back(m_strPath[i]);
}
m_iPhoCount=count;
if(strpath.empty()==FALSE)
{

m_sPath=m_strPath[0];
Paint();
}

}

------解决方案--------------------
没有很看懂楼主的意思 大致了解了一点

C/C++ code
void CPhoto::OnPhotoFullstr()
{ 
    this->ShowWindow(SW_SHOWMAXIMIZED); 
    Invalidate(); 
}