VC ++中的OnSize()问题

时间:2010-03-18 10:05:44

标签: mfc visual-c++

在我的VC ++ MFC applcaiton中,我有不同的视图。在每个视图中,当我最大化它时,我将大小和位置更改为新的东西(通常它完全得到最大化到屏幕大小)。但我不想要它。所以在OnSize()中我编码就像这样。

void CChildFrame::OnSize(UINT nType, int cx, int cy)
{
 CMDIChildWnd::OnSize(nType, cx, cy);

 int XBorder = GetSystemMetrics(SM_CXMAXIMIZED);
 int YBorder = GetSystemMetrics(SM_CYMAXIMIZED); 
 switch (nType) 
    { 
        case SIZE_MAXIMIZED: 
 SetWindowPos(NULL,0,60,XBorder-45,YBorder-60,SWP_NOZORDER );
   break;   
 } 
} 

但是发生了什么?当我最大化视图时,它最大化到上面提到的大小。但是在那个蓝色条中,没有最小化,最大化,关闭按钮。 当我双击蓝色条时,它会恢复到所有按钮的上一个位置。 我怎么能得到它?

1 个答案:

答案 0 :(得分:0)

我不明白什么是“蓝条”,但您可能会查看以下指示:修改窗口样式(请参阅WS_MAXIMIZE,WS_MAXIMIZEBOX,...);覆盖OnGetMinMaxInfo而不是OnSize。