gpt4 book ai didi

c++ - 添加新项目时,在 wtl 中滚动 clistviewctrl

转载 作者:行者123 更新时间:2023-11-28 03:50:55 27 4
gpt4 key购买 nike

当添加新项目时,我想滚动到 ListView 的末尾。我正在使用 WTL 的 CListViewCtrl。这是我添加新项目和滚动的功能:

void CMainDlg::addMessage(CString msg)
{
m_wndList.InsertItem ( n++, msg);
SIZE size;
size.cx = 0;
size.cy = n;
m_wndList.Scroll(size);
}

n 只是一个全局变量:

int n = 0;

除了根本不滚动之外,该功能有效。

我查看了 wtl 中 Scroll 的源代码,它看起来不错:

BOOL Scroll(SIZE size)
{
ATLASSERT(::IsWindow(m_hWnd));
return (BOOL)::SendMessage(m_hWnd, LVM_SCROLL, size.cx, size.cy);
}

那为什么它不滚动呢?我试过 n+1 等...

最佳答案

是的,您可以按像素滚动。请改用 EnsureVisible 函数(它发送 LVM_ENSUREVISIBLE)。

关于c++ - 添加新项目时,在 wtl 中滚动 clistviewctrl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5517436/

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