windows程序设计 显示一个窗口
#include <windows.h> HINSTANCE hinst; LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
static TCHAR szClassName[] = TEXT("MainWClass");
WNDCLASSEX wcx;//窗口类
HWND hwnd;//窗口句柄
MSG msg;//消息
hinst = hInstance;//应用程序实例句柄,保存为全局变量。 //填充窗口类的数据结构
wcx.cbSize = sizeof(wcx);//结构体大小
wcx.style = CS_HREDRAW | CS_VREDRAW;//样式:窗口大小改变时重绘界面
wcx.lpfnWndProc = MainWndProc;//窗口消息处理函数
wcx.cbClsExtra = ;//不使用类内存
wcx.cbWndExtra = ;//不使用窗口内存
wcx.hInstance = hInstance;//所属的应用程序实例句柄
wcx.hIcon = LoadIcon(NULL, IDI_APPLICATION);//图标:默认
wcx.hCursor = LoadCursor(NULL, IDC_ARROW);//光标:默认
wcx.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//背景:白色
wcx.lpszMenuName = NULL;//菜单:不使用
wcx.lpszClassName = szClassName;//窗口类名
wcx.hIconSm = (HICON)LoadImage(hInstance,
MAKEINTRESOURCE(),
IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON),
LR_DEFAULTCOLOR);//小图标 //注册窗口
if(!RegisterClassEx(&wcx))
{
return ;
} //创建窗口
hwnd = CreateWindow(
szClassName,//窗口名
TEXT("BASE"),//窗口标题
WS_OVERLAPPEDWINDOW,//窗口样式
CW_USEDEFAULT,//水平位置X:默认
CW_USEDEFAULT,//垂直位置Y:默认
CW_USEDEFAULT,//宽度:默认
CW_USEDEFAULT,//高度:默认
NULL,//父窗口:无
NULL,//菜单:使用窗口类的菜单
hInstance,//应用程序实例句柄
NULL//窗口创建时数据:无
); if(!hwnd)
{
return ;
} //显示窗口
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd); //消息循环
while(GetMessage(&msg, NULL, , ))
{
TranslateMessage(&msg);//翻译消息
DispatchMessage(&msg);//分发消息
} return ;
} LRESULT CALLBACK MainWndProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
{
switch(umsg)
{
case WM_DESTROY:
PostQuitMessage();
break;
}
return DefWindowProc(hwnd, umsg, wParam, lParam);
}
windows程序设计 显示一个窗口的更多相关文章
- Excel在任务栏中只显示一个窗口的解决办法
Excel在任务栏中只显示一个窗口的解决办法 以前朋友遇到过这个问题,这次自己又遇到了,习惯了以前的那种在任务栏中显示全部窗口,方便用Alt+Tab键进行切换. 如果同时打开许多Excel工作簿, ...
- windows程序设计 创建一个新的窗口
#include <windows.h> LRESULT CALLBACK myProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(H ...
- 在线程中显示一个窗口(多个UI线程)
多数耗时操作可以异步执行,推荐async/await. 但和UI相关的部分仅能在UI线程执行,这时UI线程的耗时操作,导致界面卡死,不够友好. 我们可以创建一个单独的UI线程显示一个正在加载的窗口,可 ...
- 让你的QT显示一个窗口吧
项目文件 01_QtTest.pro #------------------------------------------------- # # Project created by QtCreat ...
- windows程序设计.第一个windos程序
Windows程序设计(第5版) windows程序需要调用API. 第一个Windows程序 /*HelloMsg.c -- Displays "Hello World!" in ...
- windows程序设计 新建一个提示框程序
1.鼠标右键项目名称,添加->新建项目. 2.选择.cpp,将文件名改成.c文件.点击添加. 3.在.c文件里面输入代码. #include <windows.h> //hInsta ...
- vscode 打开新文件覆盖窗口,始终显示一个窗口
一直在使用vscode 编辑器,里面的扩展用的比较舒服,但是最近遇到一个小问题,一直也没有找好的解决办法,今天无意中把问题给解决了.具体如下 之前使用编辑器,可以同时打开多个文件,而且是多窗口展示的, ...
- js 刷新windows.open另一个窗口页面或window.open的页面如何刷新(父页面)上层页面
一.js完整代码如下: //js打开新窗口 functionopenWin() {window.open('addInfo.jsp', '_blank','width=300,height=400,t ...
- 窗口过程 - Windows程序设计(SDK)006
窗口过程 让编程改变世界 Change the world by program 内容节选: Windows 把这样一个窗口分为了客户区和非客户区,这里边白色的这一大片就是客户区,而这些标题栏.菜单栏 ...
随机推荐
- JAVA—API和SPI概念
JAVA—API和SPI概念 目录 概念 JDBC实例 自己实现一个SPI 总结 概念英文: What is the difference between Service Provider Inter ...
- Mysql获取最大自增ID(auto_increment)的五种方式及其特点
在关系型数据库的表结构中,一般情况下,都会定义一个具有‘AUTO_INCREMENT’扩展属性的‘ID’字段,以确保数据表的每一条记录都有一个唯一标识. 而实际应用中,获取到最近最大的ID值是必修课之 ...
- spring JdbcTemplate数据库
DAO package DAO; import org.springframework.jdbc.core.JdbcTemplate; public class OrderDao { private ...
- DOTween-Ease缓动函数
Ease.InQuad 不知道Quad代表什么意思 Ease.InQuart 有1/4的时间是没有缓动. Ease.InQuint, 是1/5时间没有缓动. Ease.InExpo 一直很平缓, ...
- Linux set、env、declare、export显示shell变量的区别
目录 Linux中 set.env.declare.export显示shell变量的区别 1. shell局部变量 2. 用户的环境变量 显示shell变量 declare 命令 export 命令 ...
- osg shader 相机观察矩阵逆矩阵 求顶点世界坐标
uniform mat4 osg_ViewMatrixInverse;//osg内置uniform void main() { vec4 posWorld = osg_ViewMatrixInvers ...
- sparksql udf自定义函数中参数过多问题的解决
在进行spark sql数据库操作中,常常需要一些spark系统本身不支持的函数,如获取某一列值中的字符串. 如要获取 “aaaakkkkk”中的第4-第8个字符. 针对这种需求,只有设置UDF来实现 ...
- chrome 浏览器之下载管理器插件
chrome默认下载器实在是不招人待见,下面插件是一个非常不错的选择: 名称:Chrono下载管理器 插件地址:https://chrome.google.com/webstore/detail/ch ...
- gitlab-ci + k8s 之gitlab-ci(一)
目前常用的持续集成工具主要是jenkins与gitlab-ci ,我已在另一博文中详细记录了jenkins部署过程(其中包括gitlab的搭建),此篇介绍gitlab-ci的使用. 背景介绍 GitL ...
- 客户端如何访问访问oracle 12c 64位的数据库
服务器A安装的oracle 12c 64位的数据库,机器B如何访问oracle数据库. oracle客户端必须是用32位的客户端,plsql才能访问 准备: 1.下载instantclient-bas ...