#include <windows.h>

LRESULT CALLBACK myProc(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){

	static TCHAR szClassName[] = TEXT("cabbage");

	MSG msg;//消息结构
HWND hwnd;//窗口句柄
WNDCLASS wc;//窗口类别结构 wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景颜色
wc.hCursor = LoadCursor(NULL, IDC_ARROW);//光标
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);//小图标
wc.hInstance = hInstance;//实例句柄
wc.lpfnWndProc = myProc;//回调函数
wc.lpszClassName = szClassName;//类名
wc.lpszMenuName = NULL;//菜单
wc.style = CS_VREDRAW | CS_HREDRAW; //注册窗口 为程序窗口注册窗口类别
if(!RegisterClass(&wc)){
MessageBox(NULL, TEXT("注册窗口失败"), szClassName, MB_ICONERROR);
return 0;
} //创建窗口 根据窗口类别建立一个窗口
hwnd = CreateWindow(szClassName,//窗口类名
TEXT("hello insert"),//窗口标题
WS_OVERLAPPEDWINDOW,//窗口显示样式
CW_USEDEFAULT, CW_USEDEFAULT,//窗口在显示器上显示离左上角的距离,横轴为x,纵轴为y
CW_USEDEFAULT, CW_USEDEFAULT,//宽口宽度和高度
NULL, NULL, hInstance, NULL);// //显示窗口 在屏幕上显示窗口
ShowWindow(hwnd, nCmdShow);
//刷新窗口 只是窗口自我更新
UpdateWindow(hwnd); //消息循环
while(GetMessage(&msg, NULL, 0, 0)){//获取消息 从消息队列中取得消息
TranslateMessage(&msg);//翻译消息 转译某些键盘消息
DispatchMessage(&msg);//分发消息 将消息发送给窗口消息处理程序
} return 0;
} LRESULT CALLBACK myProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){ PAINTSTRUCT ps;//绘图结构
HDC hdc;//设备内容句柄
RECT rect;//矩形结构 switch(msg){
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);//开始绘制窗口 GetClientRect(hwnd, &rect);
DrawText(hdc, TEXT("你好,爱白菜的小昆虫!"), -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER); EndPaint(hwnd, &ps);//结束绘制窗口
break;
case WM_DESTROY://销毁窗口消息
PostQuitMessage(0);//抛出退出程序消息
break;
} //返回执行内定的消息处理
return DefWindowProc(hwnd, msg, wParam, lParam);
}

  

运行结果

windows程序设计 创建一个新的窗口的更多相关文章

  1. Delphi CreateProcess 创建一个新的进程和它的主线程

    Delphi CreateProcess WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件 CreateProcess百科名片 WIN32 ...

  2. Win32 程序开发:创建一个应用程序窗口

    一.创建一个应用程序窗口 代码如下: // 头文件 #include <windows.h> // 全局变量 WCHAR g_lpszClassName[] = L"CLASSN ...

  3. Step by step 如何创建一个新森林

    原创地址:http://www.cnblogs.com/jfzhu/p/4006118.html 转载请注明出处 创建一个新森林就是在一台计算机上安装AD DS,并将这台计算机提升为域控制器. 演示环 ...

  4. 【Cocos2d-x for WP8 学习整理】(1)创建一个新项目

    喜大普奔                         10.1假期之前看到了一个很振奋的消息,就是随着Cocos2d-x 2.2的发布,WP8/WIN8有史以来第一次的合并到主版本了. 之前 V2 ...

  5. soapui中文操作手册(一)----创建一个新的项目

    1) 创建一个新的项目 点击项目,选择新建项目SOAP.这将打开一个新的SOAP项目对话框. 注意:你也可以做CTRL + N(WIN)或CMD+ N(MAC)来创建一个新的SOAP项目. 在新的SO ...

  6. Eclipse中创建一个新的SpringBoot项目

    在Eclipse中创建一个新的spring Boot项目: 1. 首先在Eclipse中安装STS插件:在Eclipse主窗口中点击 Help -> Eclipse Marketplace... ...

  7. github总结(1)--怎样创建一个新的仓库

    第一步:登录账号,进入github,创建一个新的空仓库 第二步:打开电脑上已经安装好的git-bash,切换至项目所在本地目录 第三步:创建本地仓库及提交文件到本地仓库(用windows命令行或者gi ...

  8. 记一次oracle创建一个新数据库,并导入正式环境数据库备份的dmp包过程

    背景:正式环境oracle数据库定时用exp备份一个dmp包,现在打算在一台机器上创建一个新数据库,并导入这个dmp包. 1.创建数据库 开始 -> 所有程序 -> Oracle -> ...

  9. 创建一个新的解耦的Orchard Core CMS网站

    引言本文将介绍创建一个功能齐全.解耦的CMS网站的过程,该网站允许您编辑博客帖子并呈现它们.解耦是一种开发模型,其中站点的前端和后端(管理)托管在同一个Web应用程序中,但只有后端由CMS驱动.然后, ...

随机推荐

  1. 消息中间件系列一:入门、JMS规范、ActiveMQ使用

    一.入门 1. 消息中间件的定义 没有标准定义,一般认为,采用消息传送机制/消息队列 的中间件技术,进行数据交流,用在分布式系统的集成 2. 为什么要用消息中间件 解决分布式系统之间消息的传递.电商场 ...

  2. python程序打包成.exe

    安装pyinstaller 方法一:使用pip install pyinstaller 方法二:如果是下载github上的包之后手动安装 包下载 亲测可用:Pyinstaller下载地址,GitHub ...

  3. Linux------使用Xfpt6连接阿里云ECS服务器

    1.安装Xftp6,直接下一步到安装完成就可以了 2.新建文件传输 3.新建会话 4.填写会话信息 5.点击“连接”即可

  4. Python __all__变量用法

    Python中一个py文件就是一个模块,“__all__”变量是一个特殊的变量,可以在py文件中,也可以在包的__init__.py中出现. 1.在普通模块中使用时,表示一个模块中允许哪些属性可以被导 ...

  5. Nestjs 接口验证

    class-validator Nestjs yarn add class-transformer class-validator main.ts import { NestFactory } fro ...

  6. HTML <script> 标签的 defer 和 async 属性

    HTMKL <script>标签中有defer和async属性,简单介绍一下两者的区别吧.   普通的script标签会让浏览器立即下载并执行完毕,执行也是按照先后顺序,再进行后面的解析. ...

  7. eclipse中的快捷键的使用

  8. 剑指offer——python【第21题】栈的压入、弹出序列

    题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...

  9. python中matplotlib的颜色及线条控制

    参考网址: http://www.cnblogs.com/darkknightzh/p/6117528.html http://stackoverflow.com/questions/22408237 ...

  10. Python学习之旅(三十五)

    Python基础知识(34):电子邮件(Ⅰ) 几乎所有的编程语言都支持发送和接收电子邮件 在使用Python收发邮件前,请先准备好至少两个电子邮件,如xxx@163.com,xxx@sina.com, ...