Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ wxCheckListBox过滤函数_C++_Visual Studio 2005_Wxwidgets - Fatal编程技术网

C++ wxCheckListBox过滤函数

C++ wxCheckListBox过滤函数,c++,visual-studio-2005,wxwidgets,C++,Visual Studio 2005,Wxwidgets,我目前正在尝试对wxCheckListBox应用一个过滤器(用于搜索特定元素)。到目前为止我还不知道怎么做。它的问题是,我不想拥有控件的副本,总是从副本中删除不必要的项,一旦搜索更改,就必须从原始副本中再次复制并删除这些项。我想知道是否有一种方法可以简单地隐藏一些项目而不是整个控件您不能在wxListBox或wxCheckListBox中隐藏项目。要对控件中出现的项进行这种动态控制,需要在虚拟模式下使用wxListCtrl 但是,从wxListBox中删除一些项目,然后将其插入回原来的位置通常不

我目前正在尝试对wxCheckListBox应用一个过滤器(用于搜索特定元素)。到目前为止我还不知道怎么做。它的问题是,我不想拥有控件的副本,总是从副本中删除不必要的项,一旦搜索更改,就必须从原始副本中再次复制并删除这些项。我想知道是否有一种方法可以简单地隐藏一些项目而不是整个控件

您不能在
wxListBox
wxCheckListBox
中隐藏项目。要对控件中出现的项进行这种动态控制,需要在虚拟模式下使用
wxListCtrl


但是,从
wxListBox
中删除一些项目,然后将其插入回原来的位置通常不是问题(或者,更简单的是,存储所有项目,从控件中删除一些项目,然后,要还原,请清除控件并还原最初存储的所有项目).

您不能在
wxListBox
wxCheckListBox
中隐藏项目。要对控件中出现的项进行这种动态控制,需要在虚拟模式下使用
wxListCtrl


但是,从
wxListBox
中删除一些项目,然后将它们插入回原来的位置(或者,更简单的是,存储所有项目,从控件中删除一些项目,然后恢复,清除控件并恢复最初存储的所有项目),这通常不是一个真正的问题。

确实是这样,但我担心性能(控件将包含约7000个项目)不要使用
wxListBox
那么多项目,请在虚拟模式下使用
wxListCtrl
,或者使用
wxDataViewCtrl
只返回真正需要的项目(即当前显示在屏幕上)随需应变。一个有效的观点。我是否正确地假设,即使使用两个不同的控件,我仍然必须使用删除不应该可见的项目的想法?在研究wxwidgets文档之后,我还没有找到另一种方法。这正确吗?使用
wxListCtrl
/
wxListView
wxLC\U VIRTUAL
style或
wxDataViewCtrl
您实际上根本没有将项添加到控件中,只是向控件提供对它们的访问权限。因此您实际上没有删除任何内容,只是停止返回某些项(并刷新控件)。这的确是真的,但我担心性能(控件将包含约7000项)不要对那么多的项目使用
wxListBox
,而是在虚拟模式下使用
wxListCtrl
wxDataViewCtrl
,这样可以只返回真正需要的项目(即当前显示在屏幕上)随需应变。一个有效的观点。我是否正确地假设,即使使用两个不同的控件,我仍然必须使用删除不应该可见的项目的想法?在研究wxwidgets文档之后,我还没有找到另一种方法。这正确吗?使用
wxListCtrl
/
wxListView
wxLC\U VIRTUAL
style或
wxDataViewCtrl
您实际上根本不会将项添加到控件中,而只是向控件提供对它们的访问权限。因此,您实际上不会删除任何内容,只是停止返回某些项(并刷新控件)。