本节介绍树视图控件执行的窗口消息处理。因为特定于树视图控件的消息在别处讨论,所以它们不包括在这里。
信息 | 进行处理 |
WM_COMMAND | 处理EN_UPDATE和EN_KILLFOCUS编辑控制通知消息,并将所有其他编辑控制通知转发到父窗口。没有返回值。 |
WM_CREATE | 分配内存并初始化内部数据结构。如果成功则返回零,否则返回1。 |
WM_DESTROY | 释放与控件相关联的所有系统资源。它返回零。 |
WM_ENABLE | 启用或禁用控件。 |
WM_ERASEBKGND | 使用树视图控件的当前背景颜色擦除窗口背景。它返回TRUE。 |
WM_GETDLGCODE | 返回DLGC_WANTARROWS和DLGC_WANTCHARS值的组合。 |
WM_GETFONT | 返回当前标签字体的句柄。 |
WM_HSCROLL | 滚动树视图控件。如果滚动发生,则返回TRUE,否则返回FALSE。 |
WM_KEYDOWN | 当用户按ENTER键时发送NM_RETURN通知消息。当用户按方向键或PAGE UP,PAGE DOWN,HOME,END或BACKSPACE键时,它移动插入符号。当用户与这些键组合按下CTRL键时,它滚动树视图控件。它将TVN_KEYDOWN通知消息发送到父窗口。如果键被处理,则返回TRUE,否则返回FALSE。 |
WM_KILLFOCUS | 重新调整聚焦项目(如果有),并向父窗口发送NM_KILLFOCUS通知消息。 |
WM_LBUTTONDBLCLK | 取消标签编辑,如果双击项目,则将NM_DBLCLK或NM_RDBLCLK通知消息发送到父窗口。如果父窗口返回TRUE,则树视图控件切换项目的展开状态,发送父窗口TVN_ITEMEXPANDING和TVN_ITEMEXPANDED通知消息。没有返回值。 |
WM_LBUTTONDOWN | 如果用户单击与父项相关联的按钮,则切换展开状态。如果用户单击了项目标签,则树视图控件将选择并设置焦点到项目。如果用户在释放鼠标按钮之前移动鼠标,则树视图控件将开始拖放操作。没有返回值。 |
WM_PAINT | 绘制树视图控件的无效区域。它返回零。如果【wParam中】参数为非空值,则控件将假定该值为HDC并使用该设备上下文绘制。 |
WM_RBUTTONDOWN | 检查项目是否被点击,并且拖动操作已经开始。如果操作已经开始,它会向父窗口发送TVN_BEGINRDRAG通知消息,并突出显示放置目标。否则,它会向父窗口发送NM_RCLICK通知消息。没有返回值。 |
WM_SETFOCUS | 重新调整重点项目(如果有),并向父窗口发送NM_SETFOCUS通知消息。 |
WM_SETFONT | 保存指定的字体句柄并使用新字体重新绘制树视图控件。 |
WM_SETREDRAW | 设置或清除重绘标志。重绘标志设置后,重新绘制树视图控件。它返回零。 |
WM_SIZE | 重新计算取决于树视图控件的客户区大小的内部变量。它返回TRUE。 |
WM_STYLECHANGED | 取消标签编辑,并使用新样式重绘树视图控件。它返回零。 |
WM_SYSCOLORCHANGE | 如果设置了重绘标志,则使用新颜色重绘树视图控件。没有返回值。 |
WM_TIMER | 开始编辑项目标签。如果用户单击关注项目的标签,树视图控件将设置定时器,而不是立即进入编辑模式。如果用户双击标签,定时器可以使树视图避免进入编辑模式。它返回零。 |
WM_VSCROLL | 滚动树视图控件。如果滚动发生,则返回TRUE,否则返回FALSE。 |