wxpython:使用listctrl来抑制/禁用hover-over弹出窗口

时间:2016-06-06 13:52:39

标签: wxpython wxwidgets listctrl

listctrl中,如果单元格中的文本长于单元格的宽度,则只能看到部分文本。当我将鼠标光标放在所述单元格的顶部时,会出现一个小弹出窗口,试图显示全文(请参见下面的屏幕截图)。 我想知道是否有办法抑制/禁用此行为。

enter image description here enter image description here

2 个答案:

答案 0 :(得分:1)

当使用LVS_EX_LABELTIP扩展样式时,本机控件会显示此工具提示,并且恕我直言,非常有用,因为如果没有调整整个列的大小,就无法看到超长单元格的内容。因此,它默认启用,因为它是特定于MSW的东西,wxWidgets API无法禁用它。

如果你真的真的需要这样做,你总是可以使用特定于MSW的代码并执行类似的操作(警告:未经测试的代码):

#ifdef __WXMSW__
    HWND hwndList = (HWND)listctrl->GetHandle(); 
    LPARAM style = ::SendMessage(hwndList, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
    ::SendMessage(hwndList, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, style & ~LVS_EX_LABELTIP);
#endif

答案 1 :(得分:0)

您可以使用DataViewListCtrl代替,但缺少此有用功能(当线被椭圆化时,ToolText)。据我所知,它不是ListCtrl的dropin,因此使用它的语法会有所不同。