H 第山1章 Visual o艹环境下 Windows ②通过屏幕上可视的对象,如菜单、工具栏按钮 滚动条和对话框上的控件 ③来自 Windows内部,如当一个后面的窗口显示到 前面来 2.消 JUY 当 Windows捕获一个事件后,它会编写一条消息, 将相关信息放入一个数据结构中,然后将包含此数据 结构的消息发送给需要消息的程序。 Windows消息是 在 Windows文件中用宏定义的常数。消息常数名通常 以WM开头,格式为 WM XXX,例如 WM QUIT、 WM CHAR
第11章 Visual C++环境下Windows ② 通过屏幕上可视的对象,如菜单、工具栏按钮、 滚动条和对话框上的控件。 ③ 来自Windows内部,如当一个后面的窗口显示到 前面来。 2.消息 当Windows捕获一个事件后,它会编写一条消息, 将相关信息放入一个数据结构中,然后将包含此数据 结构的消息发送给需要消息的程序。Windows消息是 在Windows文件中用宏定义的常数。消息常数名通常 以WM开头,格式为WM_XXX,例如WM_QUIT、 WM_CHAR
H 第山1章 Visual o艹环境下 Windows Windows将消息放入目标应用程序的消息队列中 在消息队列中所有消息都处于等待状态,直到应用程 序准备处理它 应用程序中通常有一段代码称为消息循环,形式 如下: While( getmessage(&msg, NULL,O,O)) TranslateMessage(&msg) DispatchMessage(&msg)
第11章 Visual C++环境下Windows Windows将消息放入目标应用程序的消息队列中。 在消息队列中所有消息都处于等待状态,直到应用程 序准备处理它。 应用程序中通常有一段代码称为消息循环,形式 如下: While(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); }
H 第山1章 Visual o艹环境下 Windows 在应用程序检索到 WM QUIT消息之前,这个循环 会不断运行。当它收到 WM QUIT时, GetMessagei回 false,循环停止,同时应用程序终止。 当 GetMessage返回一条消息后,循环将它传递给 TranslateMessage函数以检测该消息是不是来自键盘 如果是来自键盘的消息,则 TranslateMessage将原始键 盘消息转化为 WM CHAR消息。 WM CHAR消息是专 为传递有关键入字母信息设计的。 TranslateMessage不 处理非键盘消息
第11章 Visual C++环境下Windows 在应用程序检索到WM_QUIT消息之前,这个循环 会不断运行。当它收到WM_QUIT时,GetMessage返回 false,循环停止,同时应用程序终止。 当GetMessage返回一条消息后,循环将它传递给 TranslateMessage函数以检测该消息是不是来自键盘。 如果是来自键盘的消息,则TranslateMessage将原始键 盘消息转化为WM_CHAR消息。WM_CHAR消息是专 为传递有关键入字母信息设计的。TranslateMessage不 处理非键盘消息
H 第山1章 Visual o艹环境下 Windows 消息处理函数是用于处理特定消息的一些代码 收到消息的应用程序会做些什么,取决于应用程序本 身。程序员可以编写相应的处理函数以处理消息。如 果程序员没有为该消息编写处理函数,又需要把消息 传递给 Windows,让 Windows对消息进行默认处理, Windows会提供一个称作 Def window Proc的处理函数 Windows首先调用程序员提供的处理函数,而不用 Windows的默认方式
第11章 Visual C++环境下Windows 消息处理函数是用于处理特定消息的一些代码。 收到消息的应用程序会做些什么,取决于应用程序本 身。程序员可以编写相应的处理函数以处理消息。如 果程序员没有为该消息编写处理函数,又需要把消息 传递给Windows,让Windows对消息进行默认处理, Windows会提供一个称作DefWindowProc的处理函数。 Windows首先调用程序员提供的处理函数,而不用 Windows的默认方式
H 第山1章 Visual o艹环境下 Windows 对于特定的消息有许多标准或典型的处理。例如, WM PAINT消息(在窗口中重新绘制内容时发送)的 处理函数需要重新构造显示在窗口中的图像,需要重 新绘制可见的文本行、图形等等。另外,经常需要编 写处理函数的一条消息是 WM COMMAND,用于处理 来自菜单和按钮的命令,相应的处理函数可能会显示 个对话框、完成一次计算、选择一个选项或启动其 它的操作等
第11章 Visual C++环境下Windows 对于特定的消息有许多标准或典型的处理。例如, WM_PAINT消息(在窗口中重新绘制内容时发送)的 处理函数需要重新构造显示在窗口中的图像,需要重 新绘制可见的文本行、图形等等。另外,经常需要编 写处理函数的一条消息是WM_COMMAND,用于处理 来自菜单和按钮的命令,相应的处理函数可能会显示 一个对话框、完成一次计算、选择一个选项或启动其 它的操作等