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