C++创建windows窗口
#include "stdafx.h"
#include <windows.h>
#include <tchar.h>
//回调函数
LRESULT CALLBACK windowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
switch (msg)
{
case WM_SIZE:
break;
case WM_CLOSE:
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
break;
}
return DefWindowProc(hWnd, msg, wParam, lParam);
}
// 当前实例的指针(句柄) 上一个实例的指针(句柄) 命令行(给这个exe传递的信息) 是否显示窗口
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) {
//1 注册窗口类
::WNDCLASSEXA winClass;
winClass.lpszClassName ="Raster" ;//*
winClass.cbSize = sizeof(::WNDCLASSEX);
winClass.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC | CS_DBLCLKS;
winClass.lpfnWndProc = windowProc;//*回到函数的指针
winClass.hInstance = hInstance;
winClass.hIcon = 0;
winClass.hIconSm = 0;
winClass.hCursor = LoadCursor(NULL, IDC_ARROW);
winClass.hbrBackground=(HBRUSH)(BLACK_BRUSH);
winClass.lpszMenuName = NULL;
winClass.cbClsExtra = 0;
winClass.cbWndExtra = 0;
RegisterClassExA(&winClass);
//2 创建窗口
//返回的窗口句柄
HWND hWnd = CreateWindowExA(
NULL,
"Raster",//更具注册的名称找到注册窗口类的数据
"Raster",//窗口的标题
WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,//窗口的风格
0,//位置
0,
480,//宽高
320,
0,//菜单
0,//父窗口
hInstance,//句柄
0//用户自定义的变量
);
UpdateWindow(hWnd);//更新窗口
ShowWindow(hWnd, SW_SHOW);//显示窗口
//window 消息循环
MSG msg = { 0 };
while (true)
{
if (msg.message == WM_DESTROY
|| msg.message == WM_CLOSE
|| msg.message == WM_QUIT)
{
break;
}
//从队列中查看是否有消息 消息在window中为数字 这是是设置消息的最大值,最小值,全是0,默认是所有
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
TranslateMessage(&msg);//解释消息
DispatchMessage((&msg));//分发消息
}
}
return 0;
}
如果这个异常提示:LNK2019 无法解析的外部符号 _main,该符号在函数 "int __cdecl invoke_main(void)"...
打开项目属性,找到C/C++ -->预处理器 -->预处理器定义 添加_WINDOWS
打开项目属性,找到连接器 -->系统 -->子系统 选择窗口(/SUBSYSTEM:WINDOWS)
C++创建windows窗口相关推荐
- 创建windows窗口并且获得窗口句柄
创建windows窗口并且获得窗口句柄 代码 import win32gui from win32con import * import ctypes from ctypes import * def ...
- 【转】win32 的DLL中创建windows窗口
转自:https://blog.51cto.com/wangyw/1071967 因工作需求,需要写一个DLL,并在其中创建windows窗口,网上有很多关于DLL创建窗口的文章,不过都是基于MFC的 ...
- 创建windows 窗口
在开始创建Windows窗口前我们先来了解下tkinter库及一些简单组件 tkinter(Tk interface)是Python的标准GUl库,支持跨平台的GUl程序开发.tkinter适合小型的 ...
- DirectX创建Windows窗口
过程: WinMain 窗口类 -> 注册窗口类 创建窗口 -> 显示和更新窗口 消息循环 -> 窗口过程 #include <Windows.h>#define WIN ...
- 深入解析Windows窗口创建和消息分发
Windows GUI采用基于事件驱动的编程模型,事实上几乎所有的界面库都是这样做的.在纯粹的Window32 SDK编程时代,人们还可以搞懂整个Windows窗体创建和消息的流通过程,但是在现在各种 ...
- Windows API 编程起始——创建一个窗口
最初了解Windows api编程呢,就是先创建出一个最简洁的窗口,就如我们学习C/C++时的"Helloword"一样,这是进入windows编程大门的重要一个步,下面就开始吧. ...
- 【Windows编程】windows窗口创建过程详解
文章目录 前言 1 应用程序的分类 2 应用程序分类的对比 3 编译工具 4 windows库文件和头文件 5 WinMain函数和MessageBox函数初始 6 窗口类 7 窗口类的分类 8 注册 ...
- python 隐藏进程_python在windows下创建隐藏窗口子进程的方法
python在windows下创建隐藏窗口子进程的方法 发布于 2015-11-08 20:56:53 | 213 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一 ...
- Windows编程---使用C/C++语言创建一个窗口
序言 记得刚学习C语言的时候,我还只能写出在"小黑框"里面运行的控制台程序.后来我了解到这种控制台程序属于命令行界面(CLI,Command-Line Interface),而我们 ...
最新文章
- vue 实践技巧合集
- ios purelayout--基础使用--进阶使用--看这就够了
- 自学MVC——添加一个控制器
- 大志非才不就,大才非学不成—博文资源汇总
- eclipse中文乱码解决_解决git status显示中文文件名乱码问题
- 树的存储结构-双亲表示法
- MySQL计算表行数_计算MySQL表中行数的最快方法?
- 云南林业计算机单招试题,2016年云南林业职业技术学院单招的模拟题含解析-.docx...
- 梯度下降和导数的作用
- Flask-SQLAlchemy一般方法总结
- VS code前端配置
- 等比缩放公式_CVPR2019 | 旷视提出MetaSR:单一模型实现超分辨率任意缩放因子
- 【射频识别技术】期末重点整理
- 用ReadyBoost提高Windows 7系统性能
- 可落地的DDD(5)-战术设计
- 主机宝linux版,主机宝linux版有什么用
- android 天气动画,为app制作炫酷天气动画 – WeatherView
- 火焰图(FlameGraph)的使用
- 【JavaWeb】9—监听器
- SpringBoot单元测试Mock静态方法