窗口设置最顶端,全屏

使窗口设置为最大化,最顶层

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

}

时间: 2024-09-13 08:24:32

窗口设置最顶端,全屏的相关文章

iOS程序开发中设置UITableView的全屏分隔线的方法(不画线)_IOS

ableView是app开发中常用到的控件,功能很强大,多用于数据的显示.下面给大家介绍设置UITableView的全屏分隔线的两种方法. 具体详情如下所示: 如图 添加如下代码 sTableView.separatorInset = UIEdgeInsetsZero; sTableView.layoutMargins = UIEdgeInsetsZero; cell.layoutMargins = UIEdgeInsetsZero; 第二种方法如下图 -(void)viewDidLayoutS

Android中Activity常用功能设置小结(包括全屏、横竖屏等)

本文实例讲述了Android中Activity常用功能设置小结(包括全屏.横竖屏等).分享给大家供大家参考,具体如下: Activity全屏设置 方式1:AndroidManifest.xml 复制代码 代码如下:<activity android:name="myAcitivty"  android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> 方式2:代码实现 复制代码 代码如下:requ

设置WPF窗体全屏显示:

//全屏代码:private void Window_Loaded(object sender, RoutedEventArgs e) { // 设置全屏 this.WindowState = System.Windows.WindowState.Normal; this.WindowStyle = System.Windows.WindowStyle.None; this.ResizeMode = System.Windows.ResizeMode.NoResize; this.Topmost

实现浏览器全屏窗口的几种方法

IE 浏览器隐身 浏览网页,时常会发现自己的浏览器窗口不见了,但网页内容还在.这种效果是不是很神奇呢?实现此种功能只要有三种原理,按实现方法的不同,给它们各起了个名字,分别是:瞒天过海法.借尸还魂法和返璞归真法.不要被它们的名字吓着了,其实实现起来并不困难,只要看了下面的内容,就明白个中道理了! 一.瞒天过海法-javascript 我们知道,显示器的分辩率大小决定了我们看到的程序窗口的面积大小,分辩率越大,窗口面积越大,看到的内容就越多.但并不是说显示面积越大就越好,因为分辩率的变化会带来菜单

Android编程设置全屏的方法实例

  Android编程设置全屏的方法实例          本文实例讲述了Android编程设置全屏的方法.分享给大家供大家参考,具体如下: 在实际的应用程序开发中,我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果.其一,通过在代码中可以设置,其二,通过manifest配置文件来设置全屏. 其一:在代码中设置(如下) package xiaohang.zhimeng; import android.app.Activity; import andr

最新版INTEL显卡如何设置全屏

  故障现象: 新版INTEL显卡玩游戏不能全屏. 原因分析: INTEL显卡缩放选项默认值为"保持纵横比",更改设置为"缩放全屏"即可. 解决方案: 1. 桌面空白处点击鼠标右键,选择"图形属性"; 2. 进入英特尔核芯显卡控制面板选择"显示"; 3. 选择"显示设置",将分辨率改成"1024*768"; 4. 将缩放改成"缩放全屏"; 5. 点击"是&q

android设置全屏与取消全屏方法

android提供了两种方式来实现无标题栏和全屏效果,即通过xml文件声明的方式或在程序中动态控制的方式. android设置全屏方法 一.通过程序设置:  代码如下 复制代码     package com.hhh.changeimage:     import android.app.Activity;     import android.os.Bundle;     import android.view.Window;     import android.view.WindowMan

Android编程设置全屏的方法实例详解_Android

本文实例讲述了Android编程设置全屏的方法.分享给大家供大家参考,具体如下: 在实际的应用程序开发中,我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果.其一,通过在代码中可以设置,其二,通过manifest配置文件来设置全屏. 其一:在代码中设置(如下) package xiaohang.zhimeng; import android.app.Activity; import android.content.pm.ActivityInfo; i

【android入门】之Android中设置全屏的方法

在实际的应用程序开发中,我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果.其一,通过在代码中可以设置,其二,通过manifest配置文件来设置全屏.       其一:在代码中设置(如下) view plaincopy to clipboardprint? public void onCreate(Bundle savedInstanceState) {           super.onCreate(savedInstanceState);