MFC实现全屏功能的代码

2022-05-19 22:27:12   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《MFC实现全屏功能的代码》,欢迎阅读!
代码,实现,功能,MFC

很多的播放器都有快捷键控制窗口以全屏幕的方式显示。给应用程序加上全屏幕的功能,并不需要很多的代码,比如给一个基于对话框的应用程序加上全屏功能只需要以下少量代码就可以工作了。

void CFullScreenDlg::FullScreenView(void) {

CRect rectDesktop;

WINDOWPLACEMENT wpNew; if (!IsFullScreen()) {

// We'll need these to restore the original state. GetWindowPlacement (&m_wpPrev); //Adjust RECT to new size of window

::GetWindowRect ( ::GetDesktopWindow(), rectDesktop );

::AdjustWindowRectEx(rectDesktop, GetStyle(), FALSE, GetExStyle()); // Remember this for OnGetMinMaxInfo() m_rcFullScreenRect = rectDesktop; wpNew = m_wpPrev;

wpNew.showCmd = SW_SHOWNORMAL; wpNew.rcNormalPosition = rectDesktop; m_bFullScreen=true; } else {

// 退出全屏幕时恢复到原来的窗口状态 m_bFullScreen=false; wpNew = m_wpPrev; }

SetWindowPlacement ( &wpNew ); }

void CFullScreenDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI) {

// TODO: Add your message handler code here and/or call default if (IsFullScreen()) {

lpMMI->ptMaxSize.y = m_rcFullScreenRect.Height(); lpMMI->ptMaxTrackSize.y = lpMMI->ptMaxSize.y; lpMMI->ptMaxSize.x = m_rcFullScreenRect.Width(); lpMMI->ptMaxTrackSize.x = lpMMI->ptMaxSize.x; }

CDialog::OnGetMinMaxInfo(lpMMI); }

bool CFullScreenDlg::IsFullScreen(void) {


// 记录窗口当前是否处于全屏状态 return m_bFullScreen; }

另外要在头文件中增加下列代码: public: void FullScreenView();//全屏显示函数 BOOL IsFullScreen();//记录当前窗口是否处于全屏状态 WINDOWPLACEMENT m_wpPrev; BOOL m_bFullScreen; CRect m_rcFullScreenRect;

afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);




本文来源:https://www.dywdw.cn/627b8f3b580216fc700afdf9.html

相关推荐
推荐阅读