如果整个标题当前不可见,MFC的CTreeCtrl如何自动显示包含项目标题的工具提示?

时间:2010-12-17 16:05:20

标签: windows mfc treecontrol

背景http://msdn.microsoft.com/en-us/library/b17bescz(v=VS.90).aspx " TVS_NOTOOLTIPS样式禁用树视图控件的自动工具提示功能。如果整个标题当前不可见,此功能会自动显示工具提示,其中包含鼠标光标下项目的标题。"

问题:此默认功能在哪里[即每当项目被截止时,CTreeCtrl的标题的自动显示工具提示实际上是在MFC代码中实现的(例如,哪个文件)?

由于

2 个答案:

答案 0 :(得分:1)

工具提示是Win32树控件中固有的。 CTreeCtrl是一个简单的包装器。找到代码的唯一地方是微软。

答案 1 :(得分:0)

实现这一点应该相对简单。

在treectrl(OnMouseMove)中捕获鼠标移动

  1. 获取当前光标位置
  2. 获取光标下的项目(treectrl.HitTest)
  3. 获取项目的显示rect(treectrl.GetItemRect)
  4. 获取treectrl的display rect(treectrl.GetClientRect)
  5. 如果项目的右侧显示rect> treectrl的显示矩形 - > SHOW TOOLTIP AT(item.left,item.top)
  6. 如果项目的左侧显示rect< treectrl的显示矩形 - > SHOW TOOLTIP AT(treectrl.left,item.top)
  7. Dunno,如果这有帮助的话。我在MFC应用程序中做了一个非常类似的事情来做专家突出显示。