gpt4 book ai didi

winapi - ListView 网格线问题

转载 作者:行者123 更新时间:2023-12-01 02:59:18 25 4
gpt4 key购买 nike

使用常用控件 6 在 ListView 中绘制网格线时出现问题。当我尝试使用鼠标向下滚动列表页面或向上翻页时会发生这种情况。

screenshot
(来源:rsdn.ru)。

我只能找到这个讨论 http://www.ureader.com/msg/1484143.aspx ,但解决方案并不完美

  • LVS_EX_DOUBLEBUFFER 对我不起作用
  • 禁用平滑滚动对我不起作用
  • 滚动无效确实有效,但闪烁不正常
  • 禁用网格线确实有效,但没有它们,列表看起来不太好。

  • 还有其他选择吗?
    谢谢!

    最佳答案

    ObjectListView -- 一个围绕普通 .NET WinForms ListView 的开源包装器 -- 解决了这个问题(还有很多其他问题)。

    如果你想在你自己的代码中修复它,你需要监听 LVN_ENDSCROLL 的反射通知.在结束滚动的处理程序中,执行如下操作:

    protected void HandleEndScroll(ref Message m) {
    // There is a bug in ListView under XP that causes the gridlines to be
    // incorrectly scrolled when the left button is clicked to scroll.
    // This is supposedly documented at KB 813791, but I couldn't find it.
    if (!ObjectListView.IsVista &&
    Control.MouseButtons == MouseButtons.Left &&
    this.GridLines) {
    this.Invalidate();
    this.Update();
    }
    }

    这有轻微的闪烁,但这比将网格线完全弄乱要好得多。

    关于winapi - ListView 网格线问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1416793/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com