mfc如何实现全屏功能

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

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

代码如下:

void CFullScreenDlg::FullScreenView(void)

{

RECT 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;

}

代码提供完毕

时间: 2024-10-29 17:07:36

mfc如何实现全屏功能的相关文章

C#窗体全屏功能

最近有朋友让我给他弄个应用程序全屏的功能,例如银行的取号程序界面.所以我从网上查询了一些实现的方法. C#应用程序中如何实现全屏幕显示功能? 效果就像windows自带的屏幕保护程序和众多的游戏那样,无论是否设置了“将任务栏保持在其他窗口的前端”都不显示任务栏 实现方式一 在网上找来一些简单的实现方式: this.FormBorderStyle = FormBorderStyle.None; //设置窗体为无边框样式 this.WindowState = FormWindowState.Maxi

无法实现APP全屏功能的“隐藏原因”

之前在开发项目的过程中需要隐藏顶部的ActionBar实现全屏的功能,然而在AndroidManifest文件中直接设置theme为全屏的NoActionBar模式却一直报错. 最后才发现,IDE自动生成的Blank Activity是自动继承自ActionBarActivity类的,主题设置为NoActionBar自然会报错.很多小的bug虽然很不起眼,但想要在出问题的时候找到它们有时还真的是一件费时又费力的事情啊

vitamio videoView 用隐藏除videoview的控件,并旋转屏幕方向实现的全屏功能,出现的画面不能填充满videoview(画面不完整)

使用vitamio 封装的播放器 当切换到全屏模式,有时候会出现播放的画面不是全屏的情况, 全屏时,画面只占左半部分并出现拉伸效果,还显示不全,等等其他情况 阅读分析源代码发现是getHolder().setFixedSize(mSurfaceWidth, mSurfaceHeight); 的2个参数没有改变导致该方法调用没起作用 解决办法在setVideoLayout 里面重新调用getHolder().setFixedSize(this.getWidth(), this.getHeight(

HTML5 全屏特性

全屏功能是浏览器很早就支持的一项功能了,可以让你页面中的video, image ,div 等等子元素实现全屏浏览,从而带来更好的视觉体验,来看看怎么使用吧.先来看看有哪些API和事件支持. API // 元素请求全屏显示 element.requestFullscreen() // 检测文档的当前状态是否允许执行全屏操作 document.fullscreenEnabled() //当前显示的元素是否处于全屏状态,如果处于,则返回为非空对象,否则返回null document.fullscre

右键全屏as3

(as3)右键菜单全屏与退出全屏的切换 //舞台设置 stage.frameRate=24; //右键设置 var myContextMenu:ContextMenu = new ContextMenu(); removeDefaultItems(); addCustomMenuItems(); this.contextMenu = myContextMenu; function removeDefaultItems():void { myContextMenu.hideBuiltInItems

Android 去掉标题全屏显示

自己测试时出现无法实现去掉标题和全屏功能.最后发现只要public class SocketActivity extends Activity {} 而不能用ActionBarActivity. 先介绍去掉标题栏的方法: 第一种:也一般入门的时候经常使用的一种方法 requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏 注意这句一定要写在setContentView()方法的前面,不然会报错的 第二种:在AndroidManifest.xml文

让用户端JS触发F11全屏

让用户端JS触发指的就是让用JS监听用户的操作事件,通过JS程序去实现F11全屏.这个事件可以是一个按钮的点击事件,当然也可以是键盘事件,比如用户按下F11.    1.F11键盘事件触发 当用户按下F11事件,浏览器为触发自身全屏功能,这个过程我们一般是不可控制的,即使是监听了F11的键盘事件,退出全屏的时候,我们也捕捉不到退出全屏触发的事件.所以,我们就用程序自己去实现F11的功能,首先需要禁用浏览器默认的事件动作. 1 $(document).on('keydown', function

设置页面全屏显示

在vue中使用screenfull全屏组件 // 安装 npm install screenfull --save-dev // 在需要使用全屏功能的组件中引入screenfull import screenfull from 'screenfull' // 使用 screenfull.toggle() 原文地址:https://www.cnblogs.com/Yancyzheng/p/11692249.html

video 视频全屏播放

public videofull() { //全屏播放视频 var _this = this; _this.video = document.getElementById('homeVideo'); //视频 _this.btnFullScreen = document.getElementById('btn_fullscreen'); // 全屏点击按钮 //实现全屏功能 _this.btnFullScreen.addEventListener('click',function() { //