CTreeCtrl::HitTest

 

调用此函数确定指定的位置点相对树视图控件的工作区的。

HTREEITEM HitTest( 
CPoint pt, 
UINT* pFlags = NULL 
) const; 
HTREEITEM HitTest( 
TVHITTESTINFO* pHitTestInfo 
) const;
参数

 
 pt

测试的点工作区坐标。

pFlags

为获取有关命中测试的结果的信息的整数的指针测试。 它可以是一个或多个值列表的"备注"部分的 flags 成员下。

pHitTestInfo

包含该位置命中 TVHITTESTINFO 结构的地址测试和获取有关命中测试的结果的信息。

返回值

 
 所指定的树视图项目中处理点或 NULL,如果项目不占据点。
备注

 
 当调用该函数时时,pt 参数指定点的坐标测试。 如果项目不占据点,该函数返回指定的项的处理点或 NULL。 此外,pFlags 参数包含一个值来指定点的位置。 可能的值包括:
 

Value

含义

TVHT_ABOVE

在客户端区域。

TVHT_BELOW

在工作区中。

TVHT_NOWHERE

在工作区,但是,在最后一项下。

TVHT_ONITEM

在位图或标签与项目。

TVHT_ONITEMBUTTON

在按钮上与项目。

TVHT_ONITEMICON

在位图与项目。

TVHT_ONITEMINDENT

在缩进与项目。

TVHT_ONITEMLABEL

在标签(字符串)与项目。

TVHT_ONITEMRIGHT

在项目右边的区域。

TVHT_ONITEMSTATEICON

在一个用户定义状态的树视图项的状态图标。

TVHT_TOLEFT

在工作区左边。

TVHT_TORIGHT

在工作区的右侧。

   
示例

 
 C++
 
// Select the item that is at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags); if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
m_TreeCtrl.SelectItem(hItem);
}
要求

 
 Header: afxcmn.h

CTreeCtrl::HitTest的更多相关文章

  1. VC++ CTreeCtrl 使用NM_CLICK和TVN_SELCHANGED

    //这是当CTREECTRL控件点击时NM_CLICK的处理函数 void CDriverSelCtrl::OnNMClick(NMHDR *pNMHDR, LRESULT *pResult) { C ...

  2. 不用派生CTreeCtrl不用繁琐的过程 教你如何让CTreeCtrl的每一项有ToolTip提示

    最近工作中需要让CTreeCtrl控件的每一项都有提示信息,于是谷歌百度,爬山涉水,结果是………….在CodeProject里找到一篇文章是把CTreeCtrl派生出新类,重载一些函数自定义内容.使用 ...

  3. CTreeCtrl结点拖动实现(与后台联动)

    原帖及讨论:http://bbs.bccn.net/thread-211413-1-1.html 效果描述:鼠标点击并拖动某一结点可以把它以动到其他结点下.原理:把一个结点机器下面的所有结点在需要释放 ...

  4. 实现CTreeCtrl父子节点的联动选择

    本文实现了下面的功能: 当选中父节点时, 其所有子节点全部选中. 当取消选中父节点时, 其所以子节点全部取消选中. 点击子节点时, 根据子节点与其兄弟节点的选中状态, 自动设置父节点的选中状态. 通过 ...

  5. CTreeCtrl和CListCtrl失去焦点时高亮选中项

    设置CTreeCtrl的Always Show Selection:TrueCListCtrl的Always Show Selection:False在NM_CUSTOMDRAW事件中添加如下代码: ...

  6. CTreeCtrl鼠标双击响应函数中怎么知道双击的是哪个子项?

    原帖链接: http://bbs.csdn.net/topics/310185501 楼主: CTreeCtrl鼠标双击响应函数中怎么知道双击的是哪个子项? 6楼: CPoint pt;GetCurs ...

  7. CTreeCtrl 父结点联动子结点CheckBox

    实现很简单,直接上代码: void CCheckBoxTreeDlg::OnNMClickTree1(NMHDR *pNMHDR, LRESULT *pResult) { // TODO: 在此添加控 ...

  8. 在CTreeCtrl控件点击事件中获取点击的项

    网上搜了一下,有两种方法: 1.使用GetSelectedItem() HTREEITEM hItem = m_treeCtrl.GetSelectedItem(); CString strText ...

  9. MFC 实现CTreeCtrl单选

    void CDepartmenManager::SetUncheck(HTREEITEM hTree) { if (!hTree){ return; } m_DePartmentView.SetChe ...

随机推荐

  1. 如何使Wpf浏览器应用程序被完全信任运行

    原文地址链接:http://blogs.microsoft.co.il/maxim/2008/03/05/how-to-run-wpf-xbap-as-full-trust-application/ ...

  2. Java内存区域与虚拟机类加载机制

    一.Java运行时数据区域 1.程序计数器 “线程私有”的内存,是一个较小的内存空间,它可以看做当前线程所执行的字节码的行号指示器.Java虚拟机规范中唯一一个没有OutOfMemoryError情况 ...

  3. (C# Window Service) Verify that you have sufficient privileges to start system services

    写了个Windows Service, 用Wix 写了个Installer,编译通过,生成了msi 安装文件,但是安装的时候总是提示: Product: KingPro Service -- Erro ...

  4. C#中的特殊数据类型

    一.c#中的特殊数据类型 C#中特殊数据类型有class类型.结构类型.数组类型.枚举类型.集合类型.委托类型.事件.Lambda表达式.接口类型. 1.class类型 1.1类定义 class St ...

  5. 使用 docker-machine 管理 Azure 容器虚拟机

    安装 docker-machine 请参见该链接(https://docs.docker.com/machine/install-machine "https://docs.docker.c ...

  6. Tcpdump一些常用指令

    1.tcpdump安装:yum install tcpdump 2.关键字介绍 类型关键字: 指定主机 host 192.168.1.111 指定网络地址 net 202.0.0.0 指定端口 por ...

  7. Java Spring中@Query中使用JPQL LIKE 写法

    两种方式 // 一 public List<TestEntity> searchByJpql(){ String jpql = "select k from TestEntity ...

  8. 3D旋转相册的实现

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. vector中删除的注意事项

    erase的函数原型有两种形式: iterator erase(iterator position); iterator erase(iterator first, iterator last); 例 ...

  10. 【Try Kotlin】Kotlin Koans 代码笔记

    Kotlin Koans 心印 Introduction 1.Hello, world! Simple Functions Take a look at function syntax and mak ...