win32之全屏窗口
游戏开发中经常使用会让游戏以全屏窗口的状态运行,下面一个例子就是来实现这个效果的。
- #include <windows.h>
- void RegisterMyClass();
- LRESULT CALLBACK MainWndProc(HWND hwnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam);
- int WINAPI WinMain(HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPSTR lpCmdLine,
- int nCmdShow)
- {
- // 注册窗口类
- RegisterMyClass();
- // 创建窗口
- HWND hwnd = CreateWindow(
- TEXT("MainWindow"), // 类名
- L"我的应用程序", // 窗口标题文字
- WS_POPUP, // 窗口外观样式
- , //38, // 窗口相对于父级的x坐标
- , //20, // 窗口相对于父级的y坐标 GetSystemMetrics (SM_CXSCREEN):获取屏幕宽度
- GetSystemMetrics(SM_CXSCREEN), //480, // 窗口的宽度 GetSystemMetrics(SM_CYSCREEN):获取屏幕高度
- GetSystemMetrics(SM_CYSCREEN), //250, // 窗口的高度
- NULL, // 没有父窗口
- NULL, // 没有菜单
- hInstance, // 当前应用程序的实例句柄
- NULL); // 没有附加数据
- if (hwnd == NULL)
- {
- return ;
- }
- // 显示窗口
- ShowWindow(hwnd, SW_NORMAL);
- // 更新窗口
- UpdateWindow(hwnd);
- // 消息循环
- MSG msg;
- while (GetMessage(&msg, NULL, , ))
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- return ;
- }
- void RegisterMyClass()
- {
- WNDCLASS wc;
- wc.lpszClassName = TEXT("MainWindow");
- wc.lpfnWndProc = MainWndProc;
- wc.style = CS_OWNDC | CS_VREDRAW | CS_HREDRAW;
- wc.hInstance = NULL;
- wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- /*
- 白色画刷 (HBRUSH)(COLOR_WINDOW + 1);
- 黑色画刷
- */
- wc.hbrBackground = (HBRUSH)(GetStockObject(BLACK_BRUSH));
- wc.lpszMenuName = TEXT("FirstWin32");
- wc.cbClsExtra = ;
- wc.cbWndExtra = ;
- RegisterClass(&wc);
- }
- LRESULT CALLBACK MainWndProc(HWND hwnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam)
- {
- switch (uMsg)
- {
- case WM_PAINT:
- break;
- case WM_DESTROY:
- PostQuitMessage(uMsg);
- break;
- default:
- return DefWindowProc(hwnd, uMsg, wParam, lParam);
- break;
- }
- }
其中最主要的就是红色的地方,第一个是设置窗口样式为弹出窗口,虽然没搞明白为什么使用弹出窗口可以实现全屏,但是总归是实现了,回头仔细看看API。
后面是设置窗口的宽度和高度,分别设置为屏幕的宽度和高度即可。
win32编程就是舒服,真正的刺刀见红的快感,刀刀见肉,不像mfc那样,不知道框架自己做了些什么。
win32之全屏窗口的更多相关文章
- UI: 窗口全屏, 窗口尺寸
窗口全屏 窗口尺寸 示例1.窗口全屏UI/FullScreen.xaml <Page x:Class="Windows10.UI.FullScreen" xmlns=&quo ...
- 背水一战 Windows 10 (3) - UI: 窗口全屏, 窗口尺寸
[源码下载] 背水一战 Windows 10 (3) - UI: 窗口全屏, 窗口尺寸 作者:webabcd 介绍背水一战 Windows 10 之 UI 窗口全屏 窗口尺寸 示例1.窗口全屏UI/F ...
- OSG addEventHandler W键显示网格 L键控制光照 F键切换全屏窗口 S键显示统计数据 事件处理器
#include <osgGA/StateSetManipulator> #include <osgViewer/ViewerEventHandlers> // add the ...
- OpenGL 使用GLFW创建全屏窗口
OpenGL 使用GLFW创建全屏窗口 GLFW库里面的glfwCreateWindow()函数是用来创建窗口的函数. 这样函数的原型是: GLFWwindow* glfwCreateWindow(i ...
- Directx11教程(12) 禁止alt+enter全屏窗口
原文:Directx11教程(12) 禁止alt+enter全屏窗口 在D3D11应用程序中,我们按下alt+enter键,会切换到全屏模式.有时候,我们在WM_SIZE中有一些代码,全 ...
- OSG 初始化为非全屏窗口
OSG默认的窗口时全屏的,调试的时候不方便. 在网上看到一段代码,可以非全屏显示 int _tmain(int argc, _TCHAR* argv[]){ osgViewer::Viewer vie ...
- window.open 打开全屏窗口
window.open新打开页面为全屏状态,各个浏览器情况不一致. window.open 弹出新窗口的命令: 'page.html' 弹出窗口的文件名: 'newwindow ...
- Mac的Parallels在启动Win的时候让它独立全屏窗口
这里备忘一下,由于经常需要***,Win方法比较多少,所以使用Parallels在Win下***还是很有必要的,为了使用使用方便,一般让Parallels启动系统之后自动生成一个独立的全窗口,方便来回 ...
- js控制全屏窗口
<script src="__PUBLIC__/Js/jquery.min.js"></script> <script type="text ...
随机推荐
- CSS: CSS常用的文本样式属性
介绍:CSS常用的文本样式属性 color: 颜色 font-size: 字体大小 font-style (normal.italic.oblique): 字体样式(正常.斜体) font-wei ...
- iOS网络编程解析协议三:JSON数据传输解析
作为一种轻量级的数据交换格式,正在逐步取代XML,成为网络数据的通用格式 基于JavaScript的一个子集 易读性略差,编码手写难度大,数据量小 JSON格式取代了XML给网络传输带来了很大的便利, ...
- css整站规划
准备1 css reset /** * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) * http:/ ...
- CentOS7 rpm方式安装mysql5.7
内容源自:CentOS7安装mysql 在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 1. ...
- 引导工具GRUB详解
导读 引导程序是驻留在硬盘第一个扇区(MPR.主引导记录)的程序.GRUB是一个功能强大的多系统引导程序,专门处理Linux与其它操作系统共存的问题.下面就由我介绍一下grub.conf文件里的具体内 ...
- 【React】初识React
React是什么 React是如今(2015年)最热门的前端技术. 在React中.一切皆组件. A JavaScript library for building user interfaces R ...
- Python+Django+SAE系列教程13-----MySQL记录的添\删\改
建立了数据库后,我们就来做一个简单的表(person_classroom)的加入.删除.改动的操作. 首先我们建立一个加入的页面的模板Classroom_Add.html(加入的表单)并把它放在Bid ...
- WEB打印控件Lodop(V6.x)使用说明及样例
WEB打印控件Lodop(V6.x)使用说明及样例 Lodop是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码生成复杂打印页. 控件功能强大,却简单易用,所有调用如同JavaScript扩展 ...
- Caused by: java.lang.NumberFormatException: For input string: ""
1.错误描写叙述 java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatEx ...
- 创建组件“AxLicenseControl”失败
打开以前的程序,准备来添加一个功能,打开主程序就报错: 我未曾改变过版本,原来是由于破解测试需要,修改了系统时间,时间对不了,ArcGIS的问题,改过来就正常了.