在小部件中,我有一个名为 CListCtr 的类,它派生自 wxHtmlListBox。该列表包含 100 个项目,但我只想在一页中显示 10 个项目,当我按下按钮 pagedown 时,我将获得另一个页面以显示另外 10 个项目。我不需要滚动条。但它总是在创建类时添加。如何删除或不创建滚动条?
Cathy
问问题
342 次
1 回答
0
wxHtmlListBox 是一个专门的 wxVScrolledWindow,它自己处理滚动条。自然地,当列表中的列表项多于在客户区中同时显示的数量时,将出现滚动条。
但是请注意,没有什么可以说您的 wxHtmlListBox 需要包含所有可用项目。如果你给它足够的空间容纳 10 个项目,只需调用 SetItemCount(10) 而不是 SetItemCount(100),你将不会得到滚动条。您可以自己处理向上翻页/向下翻页或任何其他导航键,并使 wxHtmlListBox 的内容无效。由于它是一个虚拟控件,您不需要更改任何数据,您只需在派生类的 OnGetItem() 和 OnGetItemMarkup() 方法中返回列表中的下一个或前 10 个项目。
请注意,这只是一个如何实现的想法,我认为这不是一件好事。滚动条指示存在更多数据以及用户相对于数据开始和结束的位置。不要打破用户的假设。他怎么知道向上/向下页面会滚动可见数据?
于 2009-02-10T18:13:23.363 回答