怎么限制窗口最大化//不超过1920

如何限制窗口最大化//不超过1920?
如题!!!!!!!!!!!!!!!!!!!!!!
------最佳解决方案--------------------
响应WM_GETMAXMININFO  的消息

处理之
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) 
{
 // TODO: Add your message handler code here and/or call default
 
 lpMMI->ptMinTrackSize.x   = 100;   
   lpMMI->ptMinTrackSize.y   = 100  ;   
   lpMMI->ptMaxTrackSize.x   = 1920  ;   
    lpMMI->ptMaxTrackSize.y   =  1920;   


 CFrameWnd::OnGetMinMaxInfo(lpMMI);
}

------其他解决方案--------------------
引用:
俩段代码怎么放在一起使用??
引用:C/C++ code?12345void CHI_ImChatDlg::OnButtonMax(){    static BOOL bMaximum = FALSE;    MoveWindow((bMaximum = !bMaximum) ? m_rcWorkArea : m_rcWnd);}

矩形……


你自己添加一个按钮,buttonclick事件?然后的按钮的点击事件里面加入下面的代码:
 
       int nxFullScreen,nyFullScreen;
        int nxClientScreen,nyClientScreen;
        nxFullScreen = GetSystemMetrics(SM_CXSCREEN);
        nyFullScreen = GetSystemMetrics(SM_CYSCREEN);
        nxClientScreen= GetSystemMetrics(SM_CXFULLSCREEN);
        nyClientScreen=GetSystemMetrics(SM_CYFULLSCREEN);
        crect m_rcWorkArea;
        m_rcWorkArea.left=0;
        m_rcWorkArea.top=0;
        m_rcWorkArea.right=nxClientScreen;
        m_rcWorkArea.bottom=nyFullScreen -nyClientScreen;
        MoveWindow(m_rcWorkArea);


就可以了,你自己试试看吧。。。。




[/b]
------其他解决方案--------------------
引用:
响应WM_GETMAXMININFO  的消息

处理之
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) 
{
 // TODO: Add your message handler code here and/or call default
 
 lpMMI->ptMinTrackSize.x ……

又学到了新姿势!
------其他解决方案--------------------
你的1920 分辨率大小吗?你可以用下面的方法获得屏幕的大小,使得窗口大小不会超过屏幕大小,当然你也要考虑任务栏的高度,下面两个函数足够了。

int nxFullScreen,nyFullScreen;
int nxClientScreen,nyClientScreen;
nxFullScreen = GetSystemMetrics(SM_CXSCREEN);
nyFullScreen = GetSystemMetrics(SM_CYSCREEN);
nxClientScreen= GetSystemMetrics(SM_CXFULLSCREEN);
nyClientScreen=GetSystemMetrics(SM_CYFULLSCREEN);

------其他解决方案--------------------
void CHI_ImChatDlg::OnButtonMax()
{
static BOOL bMaximum = FALSE;
MoveWindow((bMaximum = !bMaximum) ? m_rcWorkArea : m_rcWnd);