• 1.摘要
  • 2.基本信息
  • 3.基本内容

OnPaint

OnPaint是一种函数,在C++ 中,是WM_PAINT消息的消息处理函数,OnPaint()是CWnd的类成员,负责响应WM_PAINT消息。

基本信息

  • 外文名称

    OnPaint

  • 属性

    消息处理函数

  • 负责

    响应WM_PAINT消息

  • 属于

    CWnd的类成员

基本内容

CWnd::OnPaint

afx_msg void OnPaint( );

说明:

当Windows或应用程序请求重画应用程序窗口的一部分时,框架调用这个成员函数。WM_PAINT在调用UpdateWindow或RedrawWindow成员函数时发出。当设置了RDW_INTERNALPAINT标志并调用RedrawWindow成员函数时,窗口可能会接收到内部重画消息。在这种情况下,窗口可能没有更新区域。应用程序必须调用GetUpdateRect成员函数以确定窗口是否具有更新区域。如果GetUpdateRect返回0,则应用程序不应调用BeginPaint和EndPaint成员函数。

应用程序负责检查是否需要内部重画或更新,这可通过查看每条WM_PAINT消息的内部数据结构来完成,因为一条WM_PAINT可能是由于一个无效区域或由于使用RDW_INTERNALPAINT标志调用了RedrawWindow成员函数而引起的。

Windows只发送一次内部WM_PAINT消息。在通过UpdateWindow成员函数向窗口发送了内部WM_PAINT消息以后,将不会再向窗口发送其它WM_PAINT消息,直到再次使用RDW_INTERNALPAINT标志调用了RedrawWindow成员函数。