当前位置: 首页 > news >正文

C win32基础学习(四)

上一篇我们已经介绍了关于窗口处理函数的知识。本篇我们说一下注册窗口类,创建窗口和显示窗口的内容。

前文

窗口创建过程

  • 定义WinMain函数

  • 定义窗口处理函数(自定义,处理消息)

  • 注册窗口类(向操作系统写入一些数据)

  • 创建窗口(内存中创建窗口)

  • 显示窗口(绘制窗口的图像)

  • 消息循环(获取/翻译/派发消息)

  • 消息处理

正文

窗口类概念

 窗口类包含了窗口的各种参数信息的数据结构每一个窗口都有窗口类,窗口是根据窗口类建立出来的每一个窗口都有一个名称,使用前必须注册到系统中

窗口类分为系统窗口类和程序窗口类

系统窗口类
系统已经注册好的窗口类,不需要程序再注册了可以直接使用不需要 ResigerClass将窗口类写入系统内核里面
程序窗口类
全局程序窗口类:由用户自己定义,当前程序所有模块都可以使用局部程序窗口类:由用户自己定义,当前程序模块都可以使用,需要注册类,把你的窗口注册到程序的内核中,全局窗口类可以实现的操作局部也都可以,所以我们一般只需要使用局部的就行了 

创建窗口

//WNDCLASSEXW wcex 声明窗口类//窗口的属性//DWORD dwstyle 窗口扩展风格//LPCTSTR IpclassName 已经注册的窗口类名称//LPCTSTR IpWindowName 窗口标题栏的名字//DWORD dystyle 窗口的基本风格//int x ,y 相对于屏幕左上角的位置// int nWidth,nHeight 窗口的宽度和高度// HWND hWndParent  窗口的父窗口句柄// HMENU hMenu //窗口菜单句柄//HINSTANCE hinstance 应用程序实例句柄//LPVOID 窗口创建是的附件参数

创建窗口函数

CreateWindowExW(_In_ DWORD dwExStyle,_In_opt_ LPCWSTR lpClassName,_In_opt_ LPCWSTR lpWindowName,_In_ DWORD dwStyle,_In_ int X,_In_ int Y,_In_ int nWidth,_In_ int nHeight,_In_opt_ HWND hWndParent,_In_opt_ HMENU hMenu,_In_opt_ HINSTANCE hInstance,_In_opt_ LPVOID lpParam);
  • dwExStyle 样式一般给0
  • lpClassName指定窗口类的名称,即窗口类中的lpszClassName
  • lpWindowName指定窗口的名字
  • dwStyle指定创建的窗口样式,主要是窗口显示些什么东西
  • x,y,nWidth,nHeight左上角坐标,长、宽
  • hWndParant指定被创建窗口的父窗口句柄
  • hMenu指定窗口菜单的句柄
  • hInstance指定窗口所属的应用程序实例的句柄
  • lpParam多数窗口将这个设为NULL

将窗口创建完之后还有最重要的一部就是将你创建的窗口打入到内存。

RegisterClassExW(&wcex);

显示窗口

//显示窗口ShowWindow(hwnd, SW_SHOW); //sw_show 按照你的设值显示窗口//ShowWindow(child1, SW_SHOW);//把窗口在绘画一遍UpdateWindow(hwnd);

卷尾

本篇的内容相对较多,下篇文章又不不知道什么时候发了。。。。。

http://www.lryc.cn/news/38014.html

相关文章:

  • Java 日期时间API(Java 8及以上)
  • DHCP的配置
  • JavaWeb14-线程池
  • [qiankun+nuxt]子应用请求本地文件报错404
  • 【Qt网络编程】实现TCP协议通信
  • Webpack打包———处理样式资源
  • VP记录:Codeforces Round 857 (Div. 2) A~D
  • Docker常用项目实战演练
  • Linux进程间通信-FIFO命名管道
  • 【Kafka】记录一次基于connect-mirror-maker做的Kafka集群迁移完整过程
  • 实现VOC数据集与COCO数据集格式转换
  • 常用的密码算法有哪些?
  • SNS (Simple Notification Service)简介
  • JVM初步理解浅析
  • 【巨人的肩膀】MySQL面试总结(一)
  • 【数据结构之树】——什么是树,树的特点,树的相关概念和表示方法以及在实际的应用。
  • JavaScript语法
  • 【BIOS/UEFI】HII 基本框架及概述
  • sprintf(...)溢出边界导致程序崩溃的问题
  • 公式推导+dfs简版
  • 论文笔记 | 标准误聚类问题
  • 银行管理系统--课后程序(Python程序开发案例教程-黑马程序员编著-第7章-课后作业)
  • 【18】组合逻辑 - VL18 实现3-8译码器①
  • 2020蓝桥杯真题最长递增 C语言/C++
  • 华为OD机试题 - 寻找连续区间(JavaScript)| 机考必刷
  • 一次疲惫的调试--累了及时透气
  • 综合练习7 摄氏度转华氏温度(“\t“的使用,循环语句)
  • AWS数据库总结
  • 2个步骤就能批量给视频添加滚动字幕
  • PHP 的运行方式有哪些?