Windows程序设计02:窗口

Windows内部运行机制

  • 创建窗口的五步:注册窗口类 – 创建窗口 – 显示更新窗口 – 消息循环 – 处理消息
  • 应用程序向操作系统注册窗口类:告诉操作系统我们的窗口长成什么样子,例如图标是什么、光标是什么、窗口尺寸多大等等:窗口类名就是用来标识窗口类的

窗口消息

进队消息 vs 不进队消息

  • 进队消息由Windows操作系统放入应用程序的消息队列中的。在应用程序的消息循环中,应用程序获取到消息对象(GetMessage()),然后应用程序又把它给了操作系统,操作系统将消息传给了窗口过程处理函数。
  • 不进队消息在Windows操作系统调用窗口直接送给窗口过程函数
  • 进队消息是给了应用程序的消息队列;不进队消息是直接给了应用程序的窗口过程函数
  • 多数情况下,进队消息是来自于用户输入的结果,比如几盘击键、鼠标移动或鼠标单击消息等,进队消息还包括时钟消息、刷新消息和退出消息等
  • 多数情况下,不进队消息是来自于调用特定的Windows函数,例如CreateWindow()函数内部会发送WM_CREATE消息、GetWindowText()函数内部会发送WM_GETTEXT消息获取标题内容;SendMessage()发送自定义的消息是不进队消息,直接发送给窗口过程函数处理

消息循环

在这里插入图片描述

  • USER Module模块知道当前的活动窗口是谁,该模块将操作系统中的消息队列(System message queue)的消息取出来发送给应用程序的消息队列(Application message queue)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值