windows窗口和消息

在windows桌面程序中,最主要的概念就是窗口, 它是屏幕上一切可见的对象(如各种窗口,子窗口,控件窗口等)的统称。

用户借助键盘或鼠标与窗口进行交互。用户对窗口的输入以“消息”的形式传递给窗口,而窗口也借助消息来与其他窗口进行通信。

在windows消息运作过程中涉及到三个相关者:  <1>用户的输入(通过键盘或鼠标)    <2>被操作的窗口    <3>操作系统

首先,当用户对窗口进行输入(如改变窗口的尺寸,移动窗口等)时,操作系统会捕捉用户的输入信息,并封装成消息,投递到应用程序的消息队列中。 接着窗口的消息处理函数会对应用程序消息队列中的消息进行处理。 这就是windows消息运作的过程。

事实上,当用户对窗口输入时, 操作系统捕捉了输入信息,并使用这些信息作为参数,调用窗口的消息处理函数。在消息处理函数中,就做出的对消息的各种反应,处理。

时间: 2024-11-06 15:14:16

windows窗口和消息的相关文章

眼见为实(2):介绍Windows的窗口、消息、子类化和超类化

眼见为实(2):介绍Windows的窗口.消息.子类化和超类化 这篇文章本来只是想介绍一下子类化和超类化这两个比较"生僻"的名词.为了叙述的完整性而讨论了Windows的窗口和消息,也简要讨论了进程和线程.子类化(Subclassing)和超类化(Superclassing)是伴随Windows窗口机制而产生的两个复用代码的方法.不要把"子类化.超类化"与面向对象语言中的派生类.基类混淆起来."子类化.超类化"中的"类"是指W

《Windows程序设计》读书笔三 窗口与消息

第三章 窗口于消息 前面的例子都使用MessageBox来创建窗口 ,单他所创建的窗口灵活性有限. 3.1 窗口的创建 只要调用CreateWindow函数即可 3.1.1 系统结构概述 一个应用程序窗口可能包含,标题栏,菜单栏,工具栏,滚动条.另外还有一种类型的窗口是对话框,这种窗口可以不带标题栏 还可能包含,按钮,单选按钮,复选框,列表框,滚动条,文本框等.每一个这些对象都被称为 子窗口,或者 控件窗口 当用户改变窗口尺寸时,Windows便向应用程序发送一条携带新窗口尺寸相关的信息,接着应

创建接收消息的windows窗口

我觉得应该花点时间熟悉一下windows编程了,不然项目的代码没法看啊.今天在家,实现了一个简单的接收消息的windows窗口,可以接收其他进程发送过来的消息. <windows程序设计>开头就讲了一个windows程序的基本框架,该例程创建了一个可视的窗口,步骤还挺多的.如果创建的窗口仅用于接收消息,那就简单得多,不需要我们注册一个自定义的WNDCLASS,也不需要将界面显示出来. 先看一下CreateWindow的帮助文档: http://msdn.microsoft.com/en-us/

Windows窗口消息大全

Windows窗口消息大全,全不全自己看 ////////////////////////////////////////////////////////////////////////// #include "AFXPRIV.H"//消息值的定义来源 #include "Dde.h"//DDE消息值的定义来源 #include "CPL.H"//控制面板消息值的定义来源 #include "WFEXT.H"//文件管理器的消

子类化和超类化区别(介绍Windows的窗口、消息、子类化和超类化)(转)

原文地址:http://maqianli210.blog.sohu.com/75497589.html 这篇文章本来只是想介绍一下子类化和超类化这两个比较“生僻”的名词.为了叙述的完整性而讨论了Windows的窗口和消息,也简要讨论了进程和线程.子类化(Subclassing)和超类化(Superclassing)是伴随Windows窗口机制而产生的两个复用代码的方法.不要把“子类化.超类化”与面向对象语言中的派生类.基类混淆起来.“子类化.超类化”中的“类”是指Windows的窗口类. 0 运

Windows窗口消息循环及多线程之间关系

Windows中一个进程可以包含多个线程,由多个线程组成.在Windows应用程序中,窗体是由一种称为"UI线程(User Interface Thread)"的特殊类型的线程创建的.一个UI线程包含一个消息循环对列.在窗口运行过程中,按下控件或对窗口进行一些操作等同于向消息循环队列插入消息:然后由系统调用相应消息的响应函数,使用户操作得到响应. 根据该工作过程可知,当窗口某个消息的响应函数占用大量时间时,必定会影响窗口对下一个消息的响应.因此,对与那些比较耗时的操作的响应,使用多线程

Windows窗口的创建

Windows窗口创建的基本代码: #include <Windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in LPSTR lpCmdLine, __in int nShowCmd ) { TCHAR* appName = TEXT("Demo

关于windows窗口刷新 原理

windows 窗口更新采用所谓“重画”(REDRAW)机制,当内容更新后必须发送使窗口重画的消息,窗口内容才更新.但有些内容的更改并不通知显示它的窗口本身,比如服务器上的网页,它一般不知道哪个窗口正在浏览自己,所以也无从通知.为了应付这种情况,一般的浏览器或显示内容的窗口都提供“刷新”,重新浏览数据强制更新窗口内容.我觉得,从某种意义上说,这种机制也是WINDOWS操作系统的一大缺陷. 显示器带宽宽的带宽能处理的频率更高,图像质量自然也更好.专业的显示器和一般应用的显示器其带宽的差距是很巨大的

WINDOWS特有的消息常量标识符

'========================================'WINDOWS特有的消息常量标识符'========================================Public Const WM_NULL = &H0&Public Const WM_CREATE = &H1& '应用程序创建一个窗口Public Const WM_DESTROY = &H2& '一个窗口被销毁Public Const WM_MOVE = &