码迷,mamicode.com
首页 > Windows程序 > 详细

9.windows消息机制(四)

时间:2016-06-18 17:00:34      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

1.绘图消息

  WM_PAINT - 当窗口需要绘制的时候,会发送窗口处理函数。

  需要重新绘制的情况:

    (1)窗口从创建到第一次显示

    (2)从被遮挡到重新显示

    (3)窗口变大(窗口变小时,窗口本身不需要重新,但如果注册窗口类中加了CS_HREDRAW | CS_VREDRAW风格,就会重绘) 

    (4)调用InvalidateRect函数  

  窗口无效区域 - 被声明成需要重新绘制的区域。

  BOOL InvalidateRect( HWND              hWnd,    //窗口句柄

                                    CONST RECT*   lpRect,    //区域的矩形坐标

                                    BOOL               bErase);  //重回前是否擦除

  在程序中,如果需要绘制窗口,调用函数声明窗口无效区域。

  WPARAM - 不使用

  LPARAM - 不使用

  消息处理步骤

    (1)开始绘图处理

       HDC BeginPaint( HWND  hWnd,  //绘图窗口

                                        LPPAINTSTRUCT  lpPaint);  //绘图参数的buffer

       返回绘图设备句柄HDC

    (2)绘图

    (3)结束绘图

       BOOL EndPaint( HWND  hWnd,  //绘图窗口

                                        CONST PAINTSTRUCT  *lpPaint);  //绘图参数的指针

2.键盘消息

  WM_KEYDOWN - 按键被按下时产生

  WM_KEYUP - 按键被放开时产生

  WM_SYSKEYDOWN - 系统键按下时产生,比如ALT、F10

  WM_SYSKEYUP - 系统键放开时产生

  WM_CHAR - 字符消息(TranslateMessage发送的)

  消息参数:

    按键消息:WPARAM - 按键的Virtual Key(虚拟键码)

                          LPARAM - 按键的参数,比如按下次数

    WM_CHAR消息:

         WPARAM - 输入的字符(ASC字符编码)

         LPARAM - 按键的相关参数

9.windows消息机制(四)

标签:

原文地址:http://www.cnblogs.com/csqtech/p/5596388.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!