【win32_001】win32命名规、缩写、窗口

整数类型

在这里插入图片描述

bool类型

使用注意:
一般bool 的false=0;true=1 | 2 | …|n
false是为0,true是非零
不建议这样用:

if (result == TRUE) // Wrong!
因为result不一定只返回1true),当返回2时,实际也是true,但这个条件却不满足。
因为true应该是非0的集合的意思,而不是仅仅为某一个具体的非0

建议这样用:

`if (result ) 或者if (result !=FALSE) `

指针类型

前缀 P- 或 LP- ,两者等效

UTF-16 和 ANSI

UTF-16 字符称为 宽 字符,用于将其与 8 位 ANSI 字符区分开来。

wchar_t、WCHAR

Visual C++ 编译器支持用于宽字符的内置数据类型 wchar_t

typedef wchar_t WCHAR;
wchar_t a = L'a';
wchar_t *str = L"hello";

若要声明宽字符文本或宽字符字符串文本,请将 L 放在文本之前。
在这里插入图片描述

ANIS函数(xA)、Unicode函数(xW)

SetWindowTextA ,A结尾,表示采用 ANSI 字符串。
SetWindowTextW , W结尾,表示采用 Unicode 字符串。

推荐使用Unicode 字符集
因为通用、效率高(ANSI还需转为UTF-16)、新的函数只支持Unicode

TCHAR类型、TEXT()、_T()

兼容Windows 95
在这里插入图片描述

SetWindowText(TEXT("My Application"));
解释为:
SetWindowTextW(L"My Application"); // Unicode function with wide-character string.
SetWindowTextA("My Application");  // ANSI function.

前缀

在这里插入图片描述

头文件的定义

有些定义为 UNICODE,另一些定义为 _UNICODE 带有下划线前缀,都一样,推荐两者都定义。

有两种类型的窗口

应用程序窗口和控件窗口。

应用程序窗口

又叫做main窗口。它通常具有带有标题栏、 最小化 和 最大化 按钮以及其他标准 UI 元素的框架。
框架称为窗口的非工作区,操作系统管理窗口的该部分。
框架中的区域是工作区,这是程序管理的窗口的一部分。
应用程序窗口是控件窗口的父窗口

控件窗口(按钮等)

控件窗口称为应用程序窗口的子窗口。

所有者窗口

应用程序窗口拥有对话框窗口,对话框窗口是两个按钮窗口的父窗口。 下图显示了这些关系:
在这里插入图片描述

窗口句柄HWND

从本质上讲,它只是操作系统用来标识对象的数字。 你可以将 Windows 想象成有一个大表,其中包含已创建的所有窗口。 它使用此表按句柄查找窗口。
窗口句柄由创建窗口的函数返回: CreateWindow 和 CreateWindowEx。

入口函数WinMain 或 wWinMain

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR lpCmdLine, int nCmdShow)
{return 0;
}

wWinMain
hInstance 是 实例的句柄 或模块的句柄。 当可执行文件加载到内存中时,操作系统使用此值来标识可执行文件或 EXE。 某些 Windows 函数需要实例句柄,例如加载图标或位图。
hPrevInstance 没有任何意义。 它在 16 位 Windows 中使用,但现在始终为零。
pCmdLine 以 Unicode 字符串的形式包含命令行参数。
nCmdShow 是一个标志,指示主应用程序窗口是最小化、最大化还是正常显示。
函数返回一个 int 值。 操作系统不使用返回值,但你可以使用 该值将状态代码传递给另一个程序。
调用约定(如 WINAPI)定义函数如何从调用方接收参数。 例如,调用约定定义参数在堆栈上的显示顺序。 请确保声明 wWinMain 函数,如前面的示例所示。

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

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

相关文章

【C刷题】day7

🎥 个人主页:深鱼~🔥收录专栏:【C】每日一练🌄欢迎 👍点赞✍评论⭐收藏 一、选择题 1、以下对C语言函数的有关描述中,正确的有【多选】( ) A: 在C语言中,一…

皮肤性病科专家谭巍主任提出HPV转阴后饮食七点建议

HPV转阴是每一位感染者都期盼的,因为转阴所以健康,只有转为阴性才意味着不具备传染性,从此也不必再害怕将病毒传染给家人的风险,也不必再担忧持续感染而引发的健康风险。总之,HPV转阴是预示感染者恢复健康与否的主要标…

Scalable Exact Inference in Multi-Output Gaussian Processes

Orthogonal Instantaneous Linear Mixing Model TY are m-dimensional summaries,ILMM means ‘Instantaneous Linear Mixing Model’,OILMM means ‘Orthogonal Instantaneous Linear Mixing Model’ 辅助信息 作者未提供代码

三、LED闪烁

通过LED的闪烁实验,详解Keil MDK中创建mm32单片机的工程的步骤。 1、开发环境 (1)Keil MDK: V5.38.0.0 (2)MCU: mm320163D7P。 2、Keil工程的创建 (1)打开Keil MDK。 (2)点击“Project”→“New μVision Project...”。 (3)选择工程保存地址及工程文件名&…

C++多线程编程(2):四种线程管理方法

文章首发于我的个人博客:欢迎大佬们来逛逛 文章目录 线程管理get_idsleep_forsleep_untilyield 线程管理 有一个this_thread的名称空间中定义了许多的线程管理方法: get_id:获取当前线程idsleep_for:当前线程休眠一段时间sleep_…

Python将已标注的两张图片进行上下拼接并修改、合并其对应的Labelme标注文件

Python将已标注的两张图片进行上下拼接并修改、合并其对应的Labelme标注文件 前言前提条件相关介绍实验环境上下拼接图片并修改、合并其对应的Labelme标注文件代码实现输出结果 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容&#xff…

第20章 数据库编程

通过本章需要理解JDBC的核心设计思想以及4种数据库访问机制,理解数据库连接处理流程,并且可以使用JDBC进行Oracle数据库的连接,理解工厂设计模式在JDBC中的应用,清楚地理解DriverManager类的作用,掌握Connection、Prep…

HR人才测评,提高招聘效率降低用人风险

随着社会的不断进步,越来越多的企业在人力资源管理中,引入人才测评工具。人才是构成一个企业的基础,是企业不断发展的保障,同时,人才也是一个企业的核心竞争力之一。所以,人才的素质对一个企业至关重要。现…

Halcon (4):如何开始自学

文章目录 文章专栏前言Halcon文档Halcon基础案例文档英语阅读建议 结论 文章专栏 Halcon开发 前言 在我完成上一篇代码,halcon基础窗口事件写完了之后,我已经基本掌握了如何写一个简单的halcon程序。后面我学习新的知识的时候感觉遇到了瓶颈。因为网上没…

测试老鸟总结,Web/APP与接口测试测试流程总结,避背黑锅...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、web测试流程 …

【linux网络】解读FTP文件传输服务器配置,揭秘百度云下载限速原理

目录 一、FTP文件传输协议 1.1FTP工作原理 1.2两种模式介绍 1.3FTP状态码 1.4FTP的三种用户分类 二、vsftpd软件的介绍 2.1服务端介绍 2.2不同操作系统下的客户端登录操作 三、vsftpd的常见配置 3.1修改默认的命令端口 3.2限制匿名用户登录(系统原本是默…

不知道如何制作产品图册的,赶紧收藏住!

产品图册是展示产品外观、功能和特点的重要工具,对于销售和推广产品至关重要。然而,制作一本高质量的产品图册并不是一件容易的事情。如果你没有经验或者不确定如何着手,那么这篇文章将为你提供一些实用的建议和技巧,帮助你轻松制…