一个简单窗口(便于窗口消息的理解)

Lua学习笔记Day5-Lua实现窗口类 Lua学习笔记Day5-Lua实现窗口类Lua学习笔记Day5-Lua实现窗口类 目录 Lua实现窗口类目录 Lua实现窗口类 Lua实现窗口类 Lua实现窗口类窗口类需要具备如下特性: 1) 有自己的名字 2) 有自己的布局文件路径 3) 初始化、析构、显示、隐藏 4) 可以拥有一个父窗口,多个子窗口 5) 需要方便通过名字查找其子窗口 6) 具备添加子窗口 7) 脱离父窗口的方法 阅读详情
#include <windows.h>    //包含windows.h头文件

LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM); //声明窗口函数

int APIENTRY WinMain(HINSTANCE hinstance, HINSTANCE hPrevinstance, LPSTR lpcmdLine, int nCmdShow)     //MFC下的程序入口函数WinMain(),传统的dos程序是以main()作为程序入口的,这一点不同
{
    WNDCLASS wndclass;    //定义窗口类结构体变量
    HWND hwnd;  //定义窗口类句柄
    MSG msg;        //定义消息结构体变量

    wndclass.style = CS_HREDRAW || CS_VREDRAW; //改变窗口大小则重绘
    wndclass.lpfnWndProc = WindowProc;  //窗口函数为WindowProc()
    wndclass.cbClsExtra = 0; //窗口类无扩展
    wndclass.cbWndExtra = 0;       //窗口实例无扩展
    wndclass.hInstance = hinstance;     //注册窗口类实例句柄
    wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);          //使用光标箭头
    wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);      //指定鼠标箭头的样式
    wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_PEN);               //窗口背景为黑色
    wndclass.lpszMenuName = NULL;           //窗口默认无菜单
    wndclass.lpszClassName = L"Windows窗口创建";         //窗口类名为"Windows窗口创建"

    if (!RegisterClass(&wndclass))         //此为注册类的函数
    {
        return false;    //注册不成功,返回false
    }

    //创建窗口的函数
    hwnd = CreateWindow(L"Windows窗口创建",     //窗口类名为"Windows窗口创建"
        L"Windows窗口创建",   //窗口的名称为“Windows窗口创建”,即窗口标题栏显示的窗口名称
        WS_OVERLAPPEDWINDOW, //重叠式窗口
        CW_USEDEFAULT, CW_USEDEFAULT,    //窗口左上角在屏幕上的默认位置
        CW_USEDEFAULT, CW_USEDEFAULT,    //窗口的宽度和高度
        NULL,      //窗口无父类窗口
        NULL,      //窗口无主菜单
        hinstance,        //创建此窗口的实例句柄
        NULL        //此窗口无创建参数
        );
    ShowWindow(hwnd, nCmdShow); //显示窗口
    UpdateWindow(hwnd);          //不断的更新窗口的客户区

    while (GetMessage(&msg, NULL, 0, 0))    //捕获消息
    {
        TranslateMessage(&msg);              //键盘消息转换
        DispatchMessage(&msg);               //派送消息给窗口函数
    }
    return msg.wParam;       //返回退出值
}

LRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)               //窗口函数
{
    wchar_t *textTmp = L"Windows!";
    switch (message)
    {
    case WM_PAINT:             //重画窗口客户区消息处理
        HDC hdc; //定义设备句柄
        PAINTSTRUCT ps;            //定义绘图结构体变量
        hdc = BeginPaint(hwnd, &ps);  //获取要重画的窗口的设备描述表句柄
        TextOut(hdc, 15, 20, textTmp, wcslen(textTmp));                //输出到窗口的文本
        EndPaint(hwnd, &ps);               //结束重画
        return 0;
    case WM_DESTROY:               //撤销窗口消息处理
        PostQuitMessage(0);               //产生退出程序消息WM_QUIT
        return 0;
    }
    return DefWindowProc(hwnd, message, wParam, lParam);
}
【D3D11编程学习日记】一:一个简单的窗口         个人博客地址:KsGin Blog                哈哈哈哈哈哈是不是超熟悉的。继 OpenGL 基础学完后,在继续钻研 OpenGL 比较深入的内容的同时,也顺便学学 DirectX 吧,毕竟在游戏界,DirectX 还是主流。在很久之前,写者也是接触了一些 Windows 编程的,当然仅仅只是一点。也就写出来了几个窗口,还是跟着教程的。现在在学习了 OpenGL ... 阅读详情

相关推荐

一个基于Windows API的简单窗口程序

了解Windows程序内部运行机制与做一个基于Windows API的简单窗口程序 目录 ​ 目的 ​ 开发环境 ​ 初识Windows ​ 总结 目的 1、了解Windows操作系统应用程序基础原理概念; 2、掌握WinMain函数定义,创建窗口,消息循环及窗口过程函数;与动手做一个简单的Windows窗口程序 开发环境 1、Visual Studio 2017 初识Windows 学习Windows窗口应用程序的第一步是了解WinMain函数 同DOS程序相同,Windows

TBMmagic的博客 1787

用Lua写一个窗口

在Lua中创建一个窗口可以使用一个叫做"wxLua"的库。wxLua是一个将wxWidgets C++ GUI库绑定到Lua的库,可以让你使用Lua语言编写图形界面应用程序。 下面是一个简单的例子,展示如何在Lua中使用wxLua创建一个带有一个按钮的窗口: -- 引入wxLua模块 local wx = require("wx") -- 创建窗口 local frame = wx.wxFram...

weixin_35750747的博客 1689

C++调用API初步创建Windows窗口程序

首先在进行介绍前,先介绍一下api,个人理解,api是在windows.h中提供的一些封装好的函数。 创建一个窗口程序的一般步骤是先注册一个窗口类名,然后再创建一个窗口,传递信息进行处理(窗口的操作都是通过信息传递来实现的) 下面介绍几个要用到api函数 RegistetClass()  //该函数只有一个参数,是一个指向WNDCLASS结构的指针 //该函数用来注册一个窗口类 WNDC

Dang_boy的博客 8096

计算机窗口的意思是什么,电脑中的窗口是什么意思,窗口是干什么用的啊?

电脑上的窗口指的是应用程序为使用数据而在图形用户界面中设置的基本单元。在窗口里面应用程序和数据实现一体化。在电脑窗口中,使用用户可以在窗口中操作应用程序,并且进行数据的管理、生成和编辑。一般情况下在窗口四周设有菜单、图标,数据放在中央。窗口界面是指采用窗口形式显示计算机操作用户界面。扩展资料:组成1、 标题栏和窗口标题。标题栏是位于窗口顶行的横条,其中含有窗口标题,即窗口名称,如“我的电脑” 、 ...

weixin_39907658的博客 9452

D3D之2D游戏编程(二)——游戏主窗口

在开始写游戏相关的代码之前,我们需要实现Win32程序的大体框架,其中最重要的是主窗口和消息循环。我不打算使用诸如WTL,MFC之类的GUI框架,在游戏编程中,这些框架除了增加复杂性之外并没有太大好处。最明智的做法是自己写一个简单但适合于游戏开发的视窗框架。我接下来将会实现它,这个框架用到代码非常的少,甚至没有类的存在,但它的确满足要求了。最重要的一点是,它非常容易理解。创建工程用VS创建一个Win32工程,工程文件结构大致是这样的:- main/    App.cpp- lib/    Commons.h

colin之海 1017

Qt之Lua动态开发-动态创建窗口(一)

本文实现通过LUA对Qt的动态创建窗口、基本函数封装,最终实现Lua创建应用程序及界面。

qq_20198003的博客 1422

滑动窗口简单理解

滑动窗口 在TCP报文的头部 有个窗口字段 是用来控制发送方窗口大小的 发送方的滑动窗口: 然后发送方把数据全部发出去 可用窗口为0 当发送方收到了之前的 已发送但是未收到ack确认的 ack确认后,发送窗口移动 接收窗口 接收窗口和发送窗口的大小是相等的吗? 约等于 因为滑动窗口并不是一成不变的 ...

weixin_44575276的博客 758

一个简单的Windows实例程序编程

通过运行上述代码,你将能够创建一个简单的Windows窗口,并在窗口中显示一条文本。这只是一个基本的示例,你可以根据自己的需求扩展和修改窗口的功能。下面是一个简单的Windows实例程序的实现,使用C++编写。这个程序创建了一个基本的Windows窗口,并在窗口中显示一条文本。函数创建窗口,并指定了窗口的样式、标题和大小等属性。如果窗口创建成功,我们调用。当收到退出消息时,我们退出循环,并返回消息的。,它是处理窗口消息的函数。函数中,我们注册了一个窗口类,并创建了一个窗口。最后,我们进入消息循环,使用。

YOLO_CODE的博客 102

深入理解Windows消息机制

今天我们来学一学Windows消息机制,我们知道在传统的C语言程序中,当我们需要打开一个文件时,我们可以调用fopen()函数,这个函数最后又会调用操作系统提供的函数以此来打开文件。而在Windows编程中,不仅用户可以调用系统的API函数,反之,系统也可以调用应用程序,而这些调用就是通过Windows的消息机制来实现的。Windows程序设计是一种完全不同于传统的DOS方式的程序设计方法,它是一...

qq_33263769的博客 930

广义平均(Generalized Mean, GeM)

本位介绍了广义平均操作的定义和简要推导,帮助大家理解其含义。

qq_45802280的博客 4547

从‘数字分身’到‘数字员工’:华为云MetaStudio如何重塑企业生产力?

本文探讨了华为云MetaStudio如何通过数字人技术重塑企业生产力,从数字分身到数字员工的转变。通过多模态AIGC技术,MetaStudio在金融、零售和制造业等多个行业实现高效应用,显著提升服务质量和运营效率。数字员工不仅降低成本,更成为企业增长的新引擎。

weixin_29083475的博客 450

C++:一个简单的Windows实例程序(附带源码)

C++:一个简单的Windows实例程序(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 940

无人机中继传输数据链技术,(无人机+自组网)远距离传输技术实现详解

无人机中继传输数据链技术是指利用无人机作为空中移动中继节点,在需要通信的区域上空悬停或移动,以建立和维护通信链路,从而扩展通信范围、提高通信质量和灵活性。1. 通信链路:是无人机中继通信的重要组成部分,包括源节点到中继节点的链路和中继节点到目标节点的链路。同时,它还支持空中到地面的通信,距离大于100km。总的来说,无人机中继传输数据链技术和(无人机+自组网)远距离传输技术都是现代无人机通信领域的重要技术,它们的应用极大地扩展了无人机的通信范围和灵活性,为各种应用场景提供了强有力的支持。

专注多旋翼、复合翼无人机技术研究,从事低空经济行业。 2079

从零开始:用 Windows API 编写简单窗口应用

本文介绍了使用Windows API编写简单窗口应用的核心步骤。首先讲解了三个关键概念:窗口类作为窗口模板、消息循环处理系统事件、窗口过程函数实现交互逻辑。随后提供了完整的C语言代码示例,包含窗口创建、按钮控件和消息处理功能。代码解析部分详细说明了窗口类注册、窗口创建、消息循环和窗口过程函数的工作原理。最后介绍了使用MinGW编译器的具体命令。通过这个基础示例,读者可以理解Windows桌面应用的基本运行机制和开发流程。

bkspiderx的博客 976

Maxwell参数化建模

MAXWELL 2019 R3 参数化建模 参数化建模的优势 所谓参数化,就是在电机本体设计中涉及到的各类参数变量化,而每个变量之间又存在一定的制约关系,这样只需修改其中某个或者某些变量就可以做到对整个电机模型合理地改动。 参数化举例 以表贴式电机为例,先画电机定子,如上所示,依次进行后会弹出下面的选项框 上图就是描述电机尺寸的各类参数,接下来进行参数化。 回车ENTER,并给变量ds赋值。 赋值好后,回车ENTER 左下角properties里面就有我们新建立的变量ds了。 继续将剩余的参数

qq_41387280的博客 1万+

[华中科技计组实验]logisim完成单周期5级流水MIPS CPU

[华中科技计组实验]logisim完成单周期5级流水MIPS32 CPU hu~,终于完成了,真是费劲呐 支持24条指令,5级流水线,可以对分支指令处理,寄存器冲突处理,指令ROM为1K,数据RAM为1M,32位MIPS指令集CPU 但是… 大量使用比较器造成硬件开销巨大,测试一下发现这尼玛真是个老爷车还没单周期跑的快,自己电脑cpu占百分之八九十只能跑到20多赫兹,一个走马灯跑了半天,可优化空间太大了,写了那么多天造成这个破样,有点悲剧。。。 先放个图大伙参考就行了,要是有人想听思路的话接下来再更 .

zrc的博客 1万+

Windows程序设计第三章 (建立一个窗口)

#include LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT("HelloWin")

OneBaBa的专栏 863

从零到自动化:用Python脚本搞定华为CE12800的NETCONF初始配置(含完整代码)

本文详细介绍了如何使用Python脚本实现华为CE12800交换机的NETCONF初始配置自动化。从环境准备、脚本架构设计到SSH连接与NETCONF配置实战,提供了完整的代码示例和错误处理建议,帮助运维工程师高效完成网络设备自动化配置,提升工作效率。

weixin_42525551的博客 401

Windows消息机制学习笔记(一)—— 消息队列

Windows消息机制学习笔记(一)—— 消息队列前言基本概念实验一:使用代码画出最简单窗口第一步:编译并运行以下代码第二步:查看运行结果第三步:使用其它窗口对其进行覆盖,观察效果 前言 一、学习自滴水编程达人中级班课程,官网:https://bcdaren.com 二、海东老师牛逼! 基本概念 接触过编程的人,或多或少用到过消息机制,但大多数人(包括我自己)只是知道相关API的基本用法,却不知道它是如何实现的 从本章起,我们将带着以下几个问题一起来学习消息机制: 什么是窗口句柄?在哪里?有什么用?

lzyddf的博客 973

2021-10-29【微生物】丨基于qiime2工具16S/ITS分析全套流程(上)

目录摘要工具与方法使用命令结果展示总结二级目录三级目录 摘要 前两个月项目特别多,最近终于有机会闲下来写点文章,把之前搭建的流程梳理一遍。前同事分析16S/ITS使用的qiime1,我接手后感觉不太适应,希望能够使用新版本来搭建,于是花了几天时间重新搭了这个流程, 工具与方法 使用工具:qiime2 使用版本:qiime2-2021.4 参考文档:https://docs.qiime2.org/2021.4/(最新版本2021.8) 使用命令 在这里插入代码片 结果展示 总结 二级目录 三级目录 ...

1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

DirectX11学习笔记(1.简单窗口程序)

窗口程序

qq_43679333的博客 599

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

C语言调用窗口有什么作用,c语言写windows窗口程序

#include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){static TCHAR szAppName[] = TEXT("HelloWin")...

weixin_42422648的博客 356

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

我的第一个Win32可视程序

#include // 这个头文件定义了一些宏,用来处理当前程序所用的编码方式是 ANSI 模式 还是 Unicode 模式 // 本程序默认是ANSI模式的编码方式 //#include // 函数前向声明 // 声明注册窗口函数 int g_row=0,g_col=0; ATOM MyRegisterClass(HINSTANCE hInstance); // 声明创建窗口函

Kevin1993year的专栏 613

WTL(2) - 写个简单的窗口程序玩玩

                                         WTL                                                       - 写个简单的窗口程序玩玩 1. 目标    通过向导生成个简单的窗口程序,然后剖析下程序。2. 步骤    启动vc8, 新建工程,选择WTL,  ATL/WTL Applic

tencat的专栏 1015

最简单的Windows窗口程序,使用main函数,隐藏控制台等,适合window编程入门

#include #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) //隐藏控制台用,注掉后控制台和窗口一起出现 LRESULT WINAPI WndProc(HWND,UINT,WPARAM,LPARAM); int main() { HINSTANCE hInstance = Ge

4748
上一篇: DX后台截图
下一篇: 在windows下怎么添加github的ssh公钥
「已注销」
博客等级 码龄14年 71粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值