CTreeCtrl::HitTest
CTreeCtrl::HitTest
调用此函数确定指定的位置点相对树视图控件的工作区的。
HTREEITEM HitTest(
CPoint pt,
UINT* pFlags = NULL
) const;
HTREEITEM HitTest(
TVHITTESTINFO* pHitTestInfo
) const;
-
测试的点工作区坐标。
- pFlags
-
为获取有关命中测试的结果的信息的整数的指针测试。 它可以是一个或多个值列表的"备注"部分的 flags 成员下。
- pHitTestInfo
-
包含该位置命中 TVHITTESTINFO 结构的地址测试和获取有关命中测试的结果的信息。
|
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 |
在工作区的右侧。 |
// 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);
}
CTreeCtrl::HitTest的更多相关文章
- VC++ CTreeCtrl 使用NM_CLICK和TVN_SELCHANGED
//这是当CTREECTRL控件点击时NM_CLICK的处理函数 void CDriverSelCtrl::OnNMClick(NMHDR *pNMHDR, LRESULT *pResult) { C ...
- 不用派生CTreeCtrl不用繁琐的过程 教你如何让CTreeCtrl的每一项有ToolTip提示
最近工作中需要让CTreeCtrl控件的每一项都有提示信息,于是谷歌百度,爬山涉水,结果是………….在CodeProject里找到一篇文章是把CTreeCtrl派生出新类,重载一些函数自定义内容.使用 ...
- CTreeCtrl结点拖动实现(与后台联动)
原帖及讨论:http://bbs.bccn.net/thread-211413-1-1.html 效果描述:鼠标点击并拖动某一结点可以把它以动到其他结点下.原理:把一个结点机器下面的所有结点在需要释放 ...
- 实现CTreeCtrl父子节点的联动选择
本文实现了下面的功能: 当选中父节点时, 其所有子节点全部选中. 当取消选中父节点时, 其所以子节点全部取消选中. 点击子节点时, 根据子节点与其兄弟节点的选中状态, 自动设置父节点的选中状态. 通过 ...
- CTreeCtrl和CListCtrl失去焦点时高亮选中项
设置CTreeCtrl的Always Show Selection:TrueCListCtrl的Always Show Selection:False在NM_CUSTOMDRAW事件中添加如下代码: ...
- CTreeCtrl鼠标双击响应函数中怎么知道双击的是哪个子项?
原帖链接: http://bbs.csdn.net/topics/310185501 楼主: CTreeCtrl鼠标双击响应函数中怎么知道双击的是哪个子项? 6楼: CPoint pt;GetCurs ...
- CTreeCtrl 父结点联动子结点CheckBox
实现很简单,直接上代码: void CCheckBoxTreeDlg::OnNMClickTree1(NMHDR *pNMHDR, LRESULT *pResult) { // TODO: 在此添加控 ...
- 在CTreeCtrl控件点击事件中获取点击的项
网上搜了一下,有两种方法: 1.使用GetSelectedItem() HTREEITEM hItem = m_treeCtrl.GetSelectedItem(); CString strText ...
- MFC 实现CTreeCtrl单选
void CDepartmenManager::SetUncheck(HTREEITEM hTree) { if (!hTree){ return; } m_DePartmentView.SetChe ...
随机推荐
- DOM基础代码练习(一)
上一篇介绍了一下DOM的一些基础的知识,这里我整理了一些有关上一篇知识点的一些封装函数. 1.遍历元素节点 function retChild(node) { var child = node.chi ...
- codechef Many Lists(树状数组 set)
题意 题目链接 Sol 直接做肯定不好搞(反正我不会..) 直接开\(n\)个Pair类型的set,维护每个数的出现位置 每次在set中二分后暴力合并即可 然后就是树状数组的基本操作了 时间复杂度:\ ...
- dukuwiki简单教程
=====请先阅读下面的说明,有助于你快速入门===== * DokuWiki(也就是我们通常称谓的wiki) 支持一些简单的标记语言, 以尽最大可能使文档看上去更友好. * 你可以把它理解为一种和c ...
- MySQL数据库(7)----数据库的选择、创建、删除和更改
1.选择数据库 使用 USE 语句可以选择数据库,并把它指定为MySQL服务器连接的默认(当前)数据库: USE db_name; 要想选择数据库,用户必须要具备相应的访问权限:否则,会出现错误提示. ...
- 自定义View和ViewGroup(有这一篇就够了)
为了扫除学习中的盲点,尽可能多的覆盖Android知识的边边角角,决定对自定义View做一个稍微全面一点的使用方法总结,在内容上面并没有什么独特的地方,其他大神们的博客上面基本上都有讲这方面的内容,如 ...
- 路飞学城知识点3缓存知识点之二redis
redis:支持的字符类型多,可以做持久化 memchache:只能存储到内存中,不能做持久化,仅支持字符串类型. 参考博客 redis安装服务端: github安装包 安装客户端: pip inst ...
- .net core系列之《.net平台历程介绍以及.net framework和.net core对比》
一..Net平台的背景 1.2010之前 的PC时代的时候,互联网规模还不是特别庞大,以静态编译式语言为代表的JAVA和.Net没什么太大区别,.net以windows自居. 2.2010年以JAVA ...
- linux-软件下载安装
RPM 安装 rpm -ivh 包全名 :-i(install):安装:-v(verbose):显示详细信息:-h(hash):显示进度: rpm -Uvh 包全名:-U(upgrate):升级 rp ...
- js之yeild
1.万恶的回调 对前端工程师来说,异步回调是再熟悉不过了,浏览器中的各种交互逻辑都是通过事件回调实现的,前端逻辑越来越复杂,导致回调函数越来越多,同时 nodejs 的流行也让 javascript ...
- Windows事件--重复事件检测
监视器--Windows事件--重复事件检测--计时器重置: 自动重置计时器:指定等待时间10分钟,则在10分钟后自动关闭该警报,更改状态为 正常(绿色) 检测事件1,事件3重置计数器状态,2分钟内检 ...