win32学习笔记(部分)

Win32的编译工具

编译器CL.EXE ->将.cpp/.c源代码编译成目标代码.obj

链接器LINK.EXE 将目标代码.库连接最终生成最终文件资源编译器rc.exe文件(.rc)将资源编译,最终通过链接器存入最终文件

.NMAKE

 MAKEFILE的 一个解释执行的工具,根据Makefile的文件中的定义,编译和链接程序,最终生成文件.

.Makefile(.mak)

  定义编译和链接等操作的脚本文件(把项目的处理命令写入),一般对整个项目进行处理

宽字节字符

 wchar_t每个字符占2个字节 char每个字符占一个字节或者2个字节

Wchar_t实际上是unsigned short类型,定义时,需要增加”L”,

Gcc   cl   这两个编译器都是单向编译器

BOOL WriteConsole(

 

);

窗口类包含了窗口的各种参数信息的一个数据结构,每个窗口都具有窗口类,基于窗口类创建窗口.每个窗口类都具有一个名称,使用前必须注册到系统

 

窗口类的分类

系统窗口类

   系统已经定义好的窗口类,所有应用程序都可以直接使用.

应用程序全局窗口类

   由用户自己定义,当前应用程序所有模块都可以使用

应用程序局部窗口类

   有用户自己定义,当前应用程序中本模块可以使用

全局窗口类会增加程序的冗余.

 系统窗口类的注册:不需要注册,直接使用窗口类即可,系统已经定义好相应名称.

 应用程序全局窗口类的注册

 .RegisterClass/RegisterClassEx

ATOM RegisterClass(CONST WNDCLASS *WndClass);//窗口类的数据

注册成功后,返回一个数字标识

ATOM RegisterClassEx(CONST WNDCLASSEX *lpwcx);//窗口类的数据

 

应用程序全局窗口类的注册,需要在窗口类的风格中增加CS_GLOBALCLASS,例如:WNDCLASSEX wce = {0};

   wce.style = ...|CS_GLOBALCLASS;

应用程序局部窗口类

在注册窗口类时,不添加

CS_GLOBALCLASS风格

 

 

窗口类的查找过程

1.系统根据传入的窗口类名称,在应用程序局部窗口类中查找,结果找到执行2,如果未找到执行3.

2.比较局部窗口类与创建窗口时传入的HINSTANCE变量,如果发现相等,创建和注册的窗口类在同一模块,创建窗口返回.如果不相等,继续执行3

3.在应用程序全局窗口类,如果找到,执行4,如果未找到执行5

4.使用找到的窗口类消息,创建窗口返回

在系统窗口类中查找,如果找到创建窗口返回,否则创建窗口失败

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值