一个经典的WIN32窗口应用

一个经典的WIN32窗口应用

  • 源自图书《精通Windows程序设计--基于VisualC++实现》

源自图书《精通Windows程序设计–基于VisualC++实现》

这里使用**visual studio2019 **

//1. 新建一个cmd控制台应用程序
//2.将项目->属性->连接器->系统->子系统(窗口)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200205211619522.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIwMTQ0NTk3,size_16,color_FFFFFF,t_70)
#ifndef __cmd_win32__
#define __cmd_win32__
#include <Windows.h>
#include <iostream>
#include "cmd_win32.h"
using namespace std;
#define MAX_LOADSTRING 100  //废弃的
static TCHAR szWindowClass[] = TEXT("黑暗过后的黎明");
static TCHAR szTitle[] = TEXT("黎明来了");
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow);
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{MSG msg;HACCEL hAccelTable = LoadAccelerators(hInstance, szTitle);RegisterClass(hInstance); //注册窗口if (!InitInstance(hInstance, nCmdShow))return FALSE;while (GetMessage(&msg, NULL, 0, 0)) //进入消息循环{if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)){TranslateMessage(&msg);DispatchMessage(&msg);}}return msg.wParam;while (::GetMessage(&msg, NULL, 0, 0)){::TranslateMessage(&msg);::DispatchMessage(&msg);}
}
ATOM MyRegisterClass( HINSTANCE hInstance) {WNDCLASS wndclass;//wndclass.cbSize = sizeof(wndclass);wndclass.style = CS_HREDRAW | CS_VREDRAW;wndclass.lpfnWndProc = (WNDPROC)WndProc;wndclass.cbClsExtra = 0;wndclass.cbWndExtra = 0;wndclass.hInstance = hInstance;wndclass.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_EXCLAMATION);wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);wndclass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);//wndclass.lpszMenuName = (LPCTSTR)IDC_CHAP2EXA2;wndclass.lpszClassName = szWindowClass;//wndclass.hIconSm = LoadIconW(wndclass.hInstance, (LPCTSTR)IDI_WARNING);return MyRegisterClass(&wndclass);
}
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{HWND hWnd;hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);if (!hWnd){return FALSE;}//显示ShowWindow(hWnd, nCmdShow);UpdateWindow(hWnd);return TRUE;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wPARAM, LPARAM lParam)
{HDC hdc;PAINTSTRUCT ps;RECT rect;switch (message){case WM_PAINT:hdc = BeginPaint(hWnd, &ps);GetClientRect(hWnd, &rect);DrawText(hdc, TEXT("大家好,这是我的第一个窗口程序!"), -1, &rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER);EndPaint(hWnd, &ps);return 0;case WM_DESTROY:PostQuitMessage(0);return 0;}return DefWindowProc(hWnd, message, wPARAM, lParam);
}#endif  !__cmd_win32__

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498188.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL CookBook 学习笔记-01

1、使用指定文件&#xff0c;创建表并插入数据&#xff1a; 文件&#xff0c;d:\MySQL_cookbook\limbs.sqlDROP TABLE IF EXISTS limbs; CREATE TABLE limbs (thing VARCHAR(20), # what the thing islegs INT, # number of legs it hasarms INT …

Cocos Creator棋牌开发-部署经验总结

Cocos Creator棋牌开发-部署经验总结1.服务器系统部署2.安装环境3.开放端口3.1接下来在centos中也开放端口1.服务器系统部署 服务器系统&#xff1a;Centos 7 数据库&#xff1a;mariadb 服务端:NodeJS 2.安装环境 1.安装宝塔 》安装 PM2.5管理器 》安装mariadb 2.配置好Nod…

人工智能正在激活互联网类脑系统,2018年,云脑将成为新热点

作者&#xff1a;未来智能实验室 一&#xff0c;AI与互联网的结合 从科学史可以看到这样一个规律&#xff0c;每一次人类社会的重大技术变革都会导致新领域的科学革命&#xff0c;互联网革命对于人类的影响已经远远超过了大工业革命。与工业革命增强人类的力量和视野不同&…

MYSQL 连接数据库命令收藏

一、MySQL 连接本地数据库&#xff0c;用户名为“root”&#xff0c;密码“root”&#xff08;注意&#xff1a;“-p”和“root” 之间不能有空格&#xff09;C:\>mysql -h localhost -u root -proot二、MySQL 连接远程数据库&#xff08;192.168.0.201&#xff09;&#xf…

CoCos Creator打包各类问题总结

CoCos Creator打包各类问题总结如果你的打包APK 出现 ‘黑屏\找不到Mould看这里&#xff01;’JAVA JDK环境变量与构建 毫无关系&#xff01;&#xff01;&#xff01;1. SDK NDK 配置2. 热更新问题3. 打包配置如果你的打包APK 出现 ‘黑屏\找不到Mould看这里&#xff01;’ J…

AI 知名企业“云从科技”今宣布完成 B 轮融资,总计获 25 亿元资金支持

来源&#xff1a; DeepTech深科技 概要&#xff1a;近日&#xff0c;中国人工智能国家队云从科技正式完成 B 轮 5 亿元人民币融资&#xff0c;加上此前广州市政府对云从科技的 20 亿政府资金支持&#xff0c;此次总计获得 25 亿元发展资金。 近日&#xff0c;中国人工智能国家队…

Cocos Creator -构建打包 所有版本测试

Cocos Creator -构建打包 所有版本测试 目前在打包APK时&#xff0c;出现了种种问题&#xff0c;都是因为打包环境操作&#xff0c;所以为了解决所有同行的同惑 ***大菠萝***做了一系列测评 SDK26SDK27SDK28SDK29SDK30JDK18√√√√JDK19√√√JDK20√√√√√JDK21√JDK21 如…

Andrej Karpathy发文谈神经网络:这不仅仅是分类器,这是一种新的软件开发思想

作者&#xff1a; 晓凡 概要&#xff1a;有越来越多的传统编程语言&#xff08;C、C、Java&#xff09;等程序员开始学习机器学习/深度学习&#xff0c;而对机器学习/深度学习的研究人员来说&#xff0c;编程也是必备技巧。 有越来越多的传统编程语言&#xff08;C、C、Java&am…

PineApple_Ninja.js

PineApple_Ninja.js 1.本章内容 2.理解函数的重要性 3.定义函数的方式 4.参数赋值 JavaScript中最关键的函数是&#xff1a;第一类对象&#xff08;first-class objects&#xff09; 函数与对象共同存在&#xff0c;函数也可以被视为其他任意类型的JS对象。 函数和普通数据类…

Java国际化资源绑定-----示例

mess.properties文件&#xff1a;helloHello World! msgHello,{0}!Today is {1}.mess_en_US.propertieshelloHello World! msgHello,{0}!Today is {1}. mess_zh_CN.properties&#xff08;Properties Editor插件&#xff09;hello您好&#xff01; msg你好&#xff0c;{0}&…

微软为什么要公开AI系统测试数据集和度量指标?

来源&#xff1a; 微软研究院AI头条 概要&#xff1a;微软研究院Maluuba团队的研究员Samira Ebrahimi Kahou等人在研究如何利用人工智能理解柱线图和饼图中所包含的信息这一问题时遇到了一个难题&#xff1a;没有现成的数据集可以用来测试他们的假设。 微软研究院Maluuba团队的…

SHA384-算法解密

今天无意发现一款网页你懂得游戏 于是出于好奇就去玩了一会&#xff0c;看着小姐姐发卡。 于是打开抓包软件。 这里推荐大家准备好 1.抓包软件 2纸和笔 用来在10秒内完成计算 先来了解一下 sha384算法&#xff0c;很难破解 但是巧了&#xff0c;我就这么巧&#xff01; 看了20多…

JS写纸牌发牌和动画(详细解剖)

先看演示 游戏构建准备 1.准备52张纸牌 2.一张桌布 3.编辑工具为 Visual Code 技术概要 1.对象操作 2.数据操作 3.JS animation动画 4.全局变量 function desen_x(){let that this;var desen["h_1","h_2","h_3","h_4","h_5&…

科技产品下一个重大突破将来自芯片堆叠技术

来源&#xff1a;网易科技 概要&#xff1a;作为几乎所有日常电子产品最基础的一个组件&#xff0c;微芯片正出现一种很有意思的现象。 作为几乎所有日常电子产品最基础的一个组件&#xff0c;微芯片正出现一种很有意思的现象。通常又薄又平的微芯片&#xff0c;如今却堆叠得像…

Inside Class Loaders

原文&#xff1a;http://onjava.com/pub/a/onjava/2003/11/12/classloader.htmlIn this part, I want to lay the groundwork on which we can start a discussion about dynamic and modular software systems. Class loaders may seem to be a dry topic, but I think it is …

Cocos creator -引擎解构

Cocos creator -引擎结构 在长期的开发中&#xff0c;发现cc对大型的手游加载项目的速度很慢&#xff0c;于是我产生了一种想法&#xff0c;想把 cocos creator移植在Linux上做开发&#xff0c;编译时在Windows。但是这样太麻烦了。索性&#xff0c;研究一下它的构造&#xff…

计算机视觉简介:历史、现状和发展趋势

来源&#xff1a;专知 概要&#xff1a;正像其它学科一样&#xff0c;一个大量人员研究了多年的学科&#xff0c;却很难给出一个严格的定义&#xff0c;模式识别如此&#xff0c;目前火热的人工智能如此&#xff0c;计算机视觉亦如此。 【导读】本文由中国科学院自动化研究所模…

MySQL Cookbook 学习笔记-02

1、分组后查找最大或最小值 2、根据“日期-时间”分组 3、“分组计算” 和 “全局计算” 同时存在查询中 4、删除一行数据&#xff0c;sequence 列会重新生成吗&#xff1f; 5、sequence 列指定值插入&#xff0c;不是我认为的不能指定值哦&#xff01; 6、删除最大 sequence 行…

IIS-HTTPS(TSL)强制开启的方法和解决过时的安全问题

IIS-HTTPS(TSL)强制开启的方法和解决过时的安全问题 系统为:Windows server 2008R2 工具为:IIS6 数据库为: Windows Sql server 2014 证书为:腾讯云颁发的AC证书 首先你需要这几个工具 IISCrypto | 检测和为你配置最安全的 策略环境 手写reg注册表 | 来关闭本地的事件 Windo…

AI在医疗行业的最新进展

来源&#xff1a; Future智能 概要&#xff1a;随着人工智能、大数据等相关应用与理念的不断传播&#xff0c;越来越多曾经深入人心的观念被彻底撼动&#xff0c;当然&#xff0c;医疗行业也不例外。 随着人工智能、大数据等相关应用与理念的不断传播&#xff0c;越来越多曾经深…