新开发一个界面控件,双击可以实现全屏,不知道那位仁兄有过经历?
希望给点提示,谢谢

解决方案 »

  1.   

    static bool isfull=true;
    static CRect m_OldWndRect;
    static CMenu m_OrgMenu;
    //////////////////////////////////////void CTestSoc2Dlg::OnButton1() 
    {
        if(isfull==true)
         {
              GetWindowRect(&m_OldWndRect);//得到原窗口位置
              //隐藏标题栏
              LONG style=::GetWindowLong(m_hWnd,GWL_STYLE);
              style&=~WS_CAPTION;
              ::SetWindowLong(m_hWnd,GWL_STYLE,style);
              //窗体最前          ::SetWindowPos(m_hWnd,HWND_TOPMOST,-1,-1,-1,-1,SWP_NOMOVE|SWP_NOSIZE);
      //全屏
              ShowWindow(SW_SHOWMAXIMIZED);
      CenterWindow();          //this->RedrawWindow();
              isfull=false;
         }
     else
         {
              //显示标题栏
              LONG style=::GetWindowLong(m_hWnd,GWL_STYLE);
              style|=WS_CAPTION;
              ::SetWindowLong(m_hWnd,GWL_STYLE,style);
              //取消窗体最前
              ::SetWindowPos(m_hWnd,HWND_NOTOPMOST,m_OldWndRect.left,m_OldWndRect.top, m_OldWndRect.right-m_OldWndRect.left,m_OldWndRect.bottom-m_OldWndRect.top,SWP_SHOWWINDOW);
              //恢复
              ShowWindow(SW_SHOWNOACTIVATE);
      //this->RedrawWindow();
      isfull=true;
     }
    }
      

  2.   

    以上方法都不能实现,我用的是控件 OnSize 只能最大化到Container