<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    一種簡單實用的全屏方法

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    實現程序全屏幕顯示的思路有很多種,最常見的一種就是:

      1)利用Windows API提供的一個結構體WINDOWPLACEMENT來存儲全屏顯示前視圖和主框架窗口在屏幕上的位置和顯示信息、非客戶區窗口的顯隱信息,以便全屏幕顯示時恢復窗口原狀;

      2)通過API函數GetDesktopWindow()得到桌面窗口,由GetWindowRect()得到顯示器的尺寸;

      3)通過AdjustWindowRect()來計算當客戶區大小為屏幕大小時相應的窗口大小;

      4)通過SetWindowPlacement()來設置視圖窗口和主窗口為客戶區大小和屏幕大小的窗口;

      5)處理窗口消息WM_GETMINMAXINFO,使窗口能夠順利的最大、最小化。
           但是用這種方法并沒有實現真正的全屏,好像VC6的全屏也是這樣做的。如果有多屏顯卡,這樣實現的全屏是可以
    從別的屏幕對其進行放大縮小的。

        下面介紹一種簡單實用的實現全屏的方法。

     

    m_bFullScreen=!m_bFullScreen; // 設置全屏顯示標志

     //一種更好的全屏顯示
     LONG style = ::GetWindowLong(this->m_hWnd,GWL_STYLE);
     if(m_bFullScreen)//全屏顯示
     {
      style &= ~(WS_DLGFRAME | WS_THICKFRAME);
      SetWindowLong(this->m_hWnd,GWL_STYLE, style);
      this->ShowWindow(SW_SHOWMAXIMIZED);
      CRect rect;
      this->GetWindowRect(&rect);
      ::SetWindowPos(this->m_hWnd,HWND_NOTOPMOST,rect.left-1, rect.top-1, rect.right-rect.left + 3, rect.bottom-rect.top + 3, SWP_FRAMECHANGED);
     }
     else
     {
      style |= WS_DLGFRAME | WS_THICKFRAME;
      SetWindowLong(this->m_hWnd, GWL_STYLE, style);
      this->ShowWindow(SW_NORMAL);
     }

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全