<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系統、金蝶與條碼系統對接、用友與條碼系統對接

    使窗口設置為最大化,最頂層

    int cxScreen,cyScreen;

    cxScreen=GetSystemMetrics(SM_CXSCREEN);//獲得屏幕的寬度

    cyScreen=GetSystemMetrics(SM_CYSCREEN);//獲得屏幕的高度

        SetWindowPos(&wndTopMost,0,0,cxScreen,cyScreen,SWP_SHOWWINDOW);//設置窗口為最頂層

    設置窗口為最頂層,不可移動和改變尺寸

    AfxGetMainWnd()->SetWindowPos(&CWnd::wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);

    多文檔的全屏顯示與退出

    1.       在CMainFrame類中新增一下三個成員變量

    WINDOWPLACEMENT m_OldWndPlacement; //用來保存原窗口位置

    BOOL m_bFullScreen;//全屏顯示標志

          CRect m_FullScreenRect; //表示全屏顯示時的窗口位置

    2.       增加一個‘全屏顯示’菜單項,用于消息響應。點擊時,即全屏顯示;編輯消息響應處理函數:(消息響應函數在CMainFrame中)

         GetWindowPlacement(&m_OldWndPlacement);//獲取窗口位置

         CRect WindowRect;

         GetWindowRect(&WindowRect);//獲取窗口大小

         CRect ClientRect;

         RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, reposQuery, &ClientRect);//獲取控制條窗口的大小

         ClientToScreen(&ClientRect);//轉換為屏幕坐標

         //獲取屏幕的分辨率

         int nFullWidth=GetSystemMetrics(SM_CXSCREEN);

         int nFullHeight=GetSystemMetrics(SM_CYSCREEN);

         //將除控制條外的客戶區全屏顯示到從(0,0)到(nFullWidth, nFullHeight)區域, 將(0,0)和(nFullWidth, nFullHeight)兩個點外擴充原窗口和除控制條之外的客戶區位置間的差值, 就得到全屏顯示的窗口位置

         m_FullScreenRect.left=WindowRect.left-ClientRect.left;

         m_FullScreenRect.top=WindowRect.top-ClientRect.top;

         m_FullScreenRect.right=WindowRect.right-ClientRect.right+nFullWidth;

         m_FullScreenRect.bottom=WindowRect.bottom-ClientRect.bottom+nFullHeight;

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

         //進入全屏顯示狀態

         WINDOWPLACEMENT wndpl;

         wndpl.length=sizeof(WINDOWPLACEMENT);

         wndpl.flags=0;

         wndpl.showCmd=SW_SHOWNORMAL;

         wndpl.rcNormalPosition=m_FullScreenRect;

         SetWindowPlacement(&wndpl);

    3.       為CMainFrame類增加WM_GETMINMAXINFO消息,編輯代碼如下:

    if(m_bFullScreen)

    {

               //全屏顯示的大小

               lpMMI->ptMaxSize.x=m_FullScreenRect.Width();

               lpMMI->ptMaxSize.y=m_FullScreenRect.Height();

               //全屏顯示的位置

               lpMMI->ptMaxPosition.x=m_FullScreenRect.Width();

               lpMMI->ptMaxPosition.y=m_FullScreenRect.Height();

               //最大的Track尺寸也要改變

               lpMMI->ptMaxTrackSize.x=m_FullScreenRect.Width();

               lpMMI->ptMaxTrackSize.y=m_FullScreenRect.Height();

    }

        CFrameWnd::OnGetMinMaxInfo(lpMMI);

    4.       為CMainFrame增加成員函數,退出全屏EndFullScreen();

    if(m_bFullScreen)

    {

               //退出全屏顯示, 恢復原窗口顯示

               ShowWindow(SW_HIDE);

               SetWindowPlacement(&m_OldWndPlacement);

         }

    5.       在CxxxxView類中,增加WM_KEYDOWN消息響應函數;當用戶按下Esc鍵時,退出全屏

     

    void CXXXXXXXView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)

    {

    // TODO: Add your message handler code here and/or call default

    if(nChar==VK_ESCAPE)//如果按的鍵為Esc鍵

    {

               //獲取主框架窗口的指針

               CMainFrame *pFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd;

               //調用主窗口類的自定義函數 EndFullScreen ,退出全屏顯示狀態

               pFrame->EndFullScreen();

    }

    CView::OnKeyDown(nChar, nRepCnt, nFlags);

    }

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