日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

怎样实现全屏显示(vc)

發布時間:2025/3/19 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎样实现全屏显示(vc) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

源代碼如下:
void CMainFrame::SetFullScreenMode(BOOL bFullMode)?// 全屏顯示
{
?if(bFullMode == m_bFullScreenMode)// 當前狀態已經是全屏或非全屏狀態,直接返回
??return;
?//m_bToolBarWasVisible = (m_wndToolBar.IsWindowVisible() != 0);
?//m_wndToolBar.ShowWindow(!bFullMode);
?m_bStatisBarWasVisible = (m_wndStatusBar.IsWindowVisible() != 0);
?m_wndStatusBar.ShowWindow(!bFullMode);
?// 保存窗口位置
?if(bFullMode)
??GetWindowRect(&m_MainRect);
?else?
??MoveWindow(m_MainRect);??
?
?// 移走或添加主窗口的標題
?LONG style = ::GetWindowLong(m_hWnd,GWL_STYLE);
?if(bFullMode)
??style &= ~WS_CAPTION;
?else
??style |= WS_CAPTION;
?::SetWindowLong(m_hWnd,GWL_STYLE,style);
?int cxScreen = GetSystemMetrics(SM_CXSCREEN);
?int cyScreen = GetSystemMetrics(SM_CYSCREEN);
?
?if(bFullMode)
?{?//設置窗口位置
??SetWindowPos(NULL,-2,-2,cxScreen,cyScreen,SWP_NOZORDER);
??// 保存最初的菜單,并設置菜單為 NULL
??ASSERT(m_OrgMenu.GetSafeHmenu() == NULL);
??CMenu *pOldMenu = GetMenu();
??m_OrgMenu.Attach(pOldMenu->Detach());
??SetMenu((CMenu*)NULL);

??// 右側控制面板
??m_wndMyBar1.ShowWindow(SW_HIDE);
??m_TabCtrl.ShowWindow(SW_HIDE);

?}
?else
?{
??ASSERT(m_OrgMenu.GetSafeHmenu() != NULL);
??SetMenu(&m_OrgMenu);
??m_OrgMenu.Detach();

??// 右側控制面板
??m_wndMyBar1.ShowWindow(SW_SHOW);
??m_TabCtrl.ShowWindow(SW_SHOW);
?}

?// 窗口所有控件重排
?RecalcLayout();

?m_bFullScreenMode = bFullMode;
}

在View中調用
void CNiKoView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
?// TODO: Add your message handler code here and/or call default
?if(nChar == 'F' || nChar == 'f' || nChar == VK_ESCAPE)
?{// 全屏顯示控制
??CMainFrame *pFrame = (CMainFrame*)AfxGetMainWnd();
??if(nChar == 'F' || nChar == 'f' )
???pFrame->SetFullScreenMode(TRUE);
??else
???pFrame->SetFullScreenMode(FALSE);
?}

?CView::OnChar(nChar, nRepCnt, nFlags);
}

總結

以上是生活随笔為你收集整理的怎样实现全屏显示(vc)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。