gpt4 book ai didi

c++ - MFC CCheckListBox的垂直滚动条没有更新

转载 作者:行者123 更新时间:2023-11-30 05:20:52 26 4
gpt4 key购买 nike

我不得不用 CCheckListBox 替换旧的 MFCSharpGrid 控件。

现在,在显示列表框的垂直滚动条后,它似乎将正确的事件(上行/下行和上页/下页)发送到列表的客户区,并且它允许鼠标滚轮滚动滚动条隐藏时不可用。

但是,滚动条不会自行更新:滚动客户区时拇指不会移动(甚至不会响应滚动条的滚动),并且拇指的大小与页面大小不成比例.

列表框大致是这样创建的:

m_grid.Create(LBS_HASSTRINGS | LBS_OWNERDRAWFIXED | LBS_NOTIFY, m_gridRect, this, IDC_GRID1);

字符串被迭代添加,然后我们请求像这样显示滚动条:

m_grid.ShowScrollBar(SB_VERT, TRUE);

尝试为最小/最大/页面大小设置 SCROLLINFO 并没有解决位置更新问题。

我在这里错过了什么?

最佳答案

您不想手动使用 ShowScrollBar。删除它,而是创建具有 WS_VSCROLL 样式的列表框。

m_grid.Create(WS_VSCROLL | LBS_HASSTRINGS | LBS_OWNERDRAWFIXED | LBS_NOTIFY, m_gridRect, this, IDC_GRID1);

这样,当内容超过控件的长度时,您会自动获得一个垂直滚动条。

关于c++ - MFC CCheckListBox的垂直滚动条没有更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40473183/

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