zoukankan      html  css  js  c++  java
  • 【MFC】WM_GETMINMAXINFO 设置无边框窗口最大花不遮挡任务栏

     LRESULT OnGetMinMaxInfo( UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/ )
    {
        MINMAXINFO *  p = (MINMAXINFO * )lParam;
        p->ptMinTrackSize.x = 600; //最小值width
        p->ptMinTrackSize.y = 400; //最小值height
    
        //在多屏的时候,需要区分有任务栏的屏和没任务栏的屏
        if (::MonitorFromWindow(::FindWindow(_T(     "Shell_TrayWnd"),   NULL), MONITOR_DEFAULTTONEAREST) == ::MonitorFromWindow(m_hWnd , MONITOR_DEFAULTTONEAREST)) //判断窗口最近的屏幕是否是任务栏所在的主屏幕
        {
            p->ptMaxPosition.x = 0;
            p->ptMaxPosition.y = 0;
            //测试发现,窗口最大化时,不需要加上后边的两个size。
            p-> ptMaxSize.x   =           GetSystemMetrics(SM_CXFULLSCREEN)   +   GetSystemMetrics(SM_CXDLGFRAME);
         // + GetSystemMetrics(SM_CXBORDER)+     GetSystemMetrics(SM_CYBORDER); 
            p-> ptMaxSize.y   =   GetSystemMetrics(SM_CYFULLSCREEN)   +   GetSystemMetrics(SM_CYCAPTION);
         // + GetSystemMetrics(SM_ CYDLGFRAME) +     GetSystemMetrics(SM_CYBORDER);
        }
        return TRUE;
    }    
  • 相关阅读:
    2013年元旦新年好
    2012第52周三阴雨
    2013第1周四雪
    2013年元旦新年好
    2013第1周三阴冷
    2012第52周日晴冷
    2012周六补记
    PHP怎么调用其他类的方法
    面向对象复习笔记(一)
    Laravel 引入自定义类库或第三方类库
  • 原文地址:https://www.cnblogs.com/mqxs/p/5772052.html
Copyright © 2011-2022 走看看