求助:OnSize的使用问题。
最近有个项目,需要实现两个界面的切换,两个界面的大小不同,我使用了OnSize的处理方式,代码如下:
void CMainFrame::OnSize(UINT nType, int cx, int cy)
{
CPicApp *pFjApp = (CPicApp*)AfxGetApp();
int SysScreenX = GetSystemMetrics(SM_CXSCREEN);
int SysScreenY = GetSystemMetrics(SM_CYSCREEN); //屏幕的像素
if(pFjApp->ScadaMode==1) //如果等于1,改变窗口
{
MoveWindow(0,84, SysScreenX,SysScreenY-84); //显示方式1
}
else //否则全屏显示
{
MoveWindow(0,0,SysScreenX,SysScreenY); //显示方式2,即全屏显示
}
}
在处理的过程中,如果初始化为全屏显示,再切换到方式1时,没有任何问题,但如果初始化为显示方式1,
再切换到方式2(即全屏)时,不能全屏显示,只是把方式1的屏幕向上移动了,下面空出一片空白。
我也单步跟踪了,像素的获取没有发生变化,感觉这时处理时,MoveWindow不能改变窗口大小,只能改变
位置,就算我把SysScreenY改的很大,也无济于事。
请各位高手给个解决方法,谢谢了!