国外如何建立个人网站,河南省住房和城乡建设厅门户网站,高端的培训行业网站开发,公司网站首页设计一.消息机制原理
1.消息类型#xff1a;
WIndows定义的一系列WM_XXX开头的#xff0c;用来表示键盘按键#xff0c;鼠标点击#xff0c;窗口变化#xff0c;用户自定义等各种消息;
2.消息队列#xff1a;
Windows为每一个正在运行的程序维护一个消息队列应用程序的消…一.消息机制原理
1.消息类型
WIndows定义的一系列WM_XXX开头的用来表示键盘按键鼠标点击窗口变化用户自定义等各种消息;
2.消息队列
Windows为每一个正在运行的程序维护一个消息队列应用程序的消息循环会从消息队列中获取消息并对齐进行处理; 消息机制允许应用程序响应操作系统和用户操作使得应用程序能够于操作系统进行有效交互响应用户的操作和系统的通知消息机制实际上是以回调函数的方式实现不是类型安全的;
3.消息发送
sendmessage发送消息这个函数主要是向一个或多个窗口发送一条消息一直等到消息被处理之后才会返回。不过需要注意的是如果接收消息的窗口是同一个应用程序的一部分那么这个窗口的窗口函数就被作为一个子程序马上被调用如果接收消息的窗口是被另外的线程所创建的那么窗口系统就切换到相应的线程并且调用相应的窗口函数这条消息不会被放进目标应用程序队列中。函数的返回值是由接收消息的窗口的窗口函数返回返回的值取决于被发送的消息Postmassage函数把一条消息放置到创建hWnd窗口的线程的消息队列中该函数不等消息被处理就马上将控制返回。需要注意的是如果hWnd参数为 HWND_BROADCAST那么消息将被寄送给系统中的所有的重叠窗口和弹出窗口但是子窗口不会收到该消息如果hWnd参数为NULL则该函数类似于将dwThreadID参数设置成当前线程的标志来调用PostThreadMEssage函数;
4.消息处理
在WndProc函数中用户程序通过switch-case语句来判断不同类型的消息并对其进行相应的响应比如WM_CREATE消息在创建窗口是被发送他只被发送一次通常于窗口的构造函数相关联;
5.常见消息
创建窗口消息WM_CREATE,销毁窗口消息WM_DESTROY,激活消息WM_ACTIVATE系统命令消息WM_SYSCOMMAND命令消息WM_COMMAND;
6.消息接收
GetMessage用来获取与hWnd参数所指定的窗口相关的且wMsgFilterMin和wMsgFilterMax参数所给出的消息值范围内的消息PeekMessage用于查看应用程序的消息队列如果其中有消息就将其放入lpMsg所指的结构中不过与GetMessage不同的是PeekMessage函数不会等到有消息放入队列时才返回WaitMessage当一个应用程序无事可做时该函数就将控制权交给另外的应用程序同时将该应用程序挂起直到一个新的消息被放入应用程序的队列之中才返回;
二.消息运转流程
消息运转流程用图来解释最好看下图