0

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

在此处输入图像描述 在此处输入图像描述

4

2 回答 2

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
于 2016-06-07T17:25:22.230 回答
0

您可以改用DataViewListCtrl它,它缺少这个有用的功能(当线条被椭圆化时的工具文本)。据我所知,它不是一个 dropin for ListCtrl,因此使用它的语法会有所不同。

于 2016-06-06T13:59:42.637 回答