怎样在自绘类型的ListCtrl中使用 EX_INFOTIP 
(自绘类型的ListCtrl 中EX_STYLE无效果)目的:
自绘类型的ListCtrl
使用 Report 样式
当某一子项显示不完全时,鼠标在该subItem上,使用Tooltip 提示.说明:
非自绘类型的,加入 ES_EX_IFNOTIP 样式,即可以实现上述效果
但是改成自绘类型后,这个Tooltip 不再显示了
尝试:
1.在自绘时,分析列宽,与显示宽,根据是否需要TIP,向toolstip中加入一个矩型区的提示
  结果:Tooltip 闪一下就没有了
2.重载 OnToolHittest()
  需要EnableTooltip()启动,似乎不对头.要求:
不另外使用CTooltipCtrl,而使用ListCtrl本身的,就是非自绘类型时使用的那个Tooltip
也就是说,如何在自绘类型时驱动原有的 Tooltip
个人觉得没有太大意义,但可以分析一下 ListCtrl 的原理,研究一下,学习一下
非常想搞懂,呵呵,高手们快来啊,分多多,解决比较经典(分析出原非自绘下的TOOLTIP原理,加到200分)

解决方案 »

  1.   

    我的自绘列表框(Custom Draw自绘)设置了LVS_EX_INFOTIP消息,无论主项子项,都可以正确显示提示啊。你怎么自绘的,是OwnerDraw?
      

  2.   

    是的 OwnerDraw重载 DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) 因为我在ListCtrl中加入了 Combox 控件,用于用户选择输入,结果 Combox 大小高于 Item 了,我就自绘了ListCtrl中的 Item,使高度和 Combox 大小相同但是,不能提示我每个Item中没有显示完的内容了虽然无关紧要,但是觉得不完美了
      

  3.   


    自绘类型
    dwListStyle |= LVS_OWNERDRAWFIXED;
    加入 LVS_EX_INFOTIP
    m_listCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_INFOTIP);
    非自绘的情况下会正确显示 Infotip
      自绘情况下就不了
      

  4.   

    现在没时间试,你看看能不能通过响应WM_MEASUREITEM给出项目的高度和宽度解决。
      

  5.   

    Mackz:  你好WM_MEASUREITEM 被响应了,在里面,修改ITEM的高度,这个好像和提示没有关系
    在自绘模式下, ex_infotip 类型无效,是这样的一个问题