window是不是建立在消息驱动机制
1个回答
2017-01-09 · 知道合伙人软件行家
关注
展开全部
在屏幕上显示一个窗口的过程一般有以下步骤,这就是主程序的结构流程。
1. 得到应用程序的句柄。
2. 注册窗口类。在注册之前,要先填写RegisterClassEx的参数WNDLCASSEX结构。
3. 建立窗口。
4. 显示窗口。
5. 刷新窗口客户区。
6. 进入无限的消息获取和处理的循环。首先获取消息,如果有消息到达,则将消息分派到回调函数处理,如果消息是 WM_QUIT,则退出循环。
程序中有一个函数(这里取名叫_ProcWinMain)是用来处理消息的,它就是窗口的回调函数,也叫窗口过程,之所以是回调函数是因为它是由Windows而不是我们自己调用的,我们调用DispatchMessage,而DispatchMessage在自己的内部回过来调用窗口过程。
所有的用户操作都是通过消息来传给应用程序的,如用户按键,鼠标移动,选择了菜单和拖动了窗口等,应用程序中有窗口过程接收消息并处理。由于窗口过程构造了一个分支结构,对应不同的消息执行不同的代码,所以一个应用程序中几乎所有的功能代码都集中在窗口过程里。
1. 得到应用程序的句柄。
2. 注册窗口类。在注册之前,要先填写RegisterClassEx的参数WNDLCASSEX结构。
3. 建立窗口。
4. 显示窗口。
5. 刷新窗口客户区。
6. 进入无限的消息获取和处理的循环。首先获取消息,如果有消息到达,则将消息分派到回调函数处理,如果消息是 WM_QUIT,则退出循环。
程序中有一个函数(这里取名叫_ProcWinMain)是用来处理消息的,它就是窗口的回调函数,也叫窗口过程,之所以是回调函数是因为它是由Windows而不是我们自己调用的,我们调用DispatchMessage,而DispatchMessage在自己的内部回过来调用窗口过程。
所有的用户操作都是通过消息来传给应用程序的,如用户按键,鼠标移动,选择了菜单和拖动了窗口等,应用程序中有窗口过程接收消息并处理。由于窗口过程构造了一个分支结构,对应不同的消息执行不同的代码,所以一个应用程序中几乎所有的功能代码都集中在窗口过程里。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询