vc listctrl 中 我想通过设置,有选择地显示数据
现在有对话框A和B,A中有一个LISTCTRL,现在里面有100条数据,我想通过不同选项(比如在COMBOBOX的不同选项)得到不同的数据,比如COMBOBOX里有三个选...
现在有对话框A和B,A中有一个LISTCTRL,现在里面有100条数据,我想通过不同选项(比如在COMBO BOX的不同选项)得到不同的数据,比如COMBO BOX里有三个选项 1,2 ,3,选1只显示前30条数据,选2显示31-80的数据,选3显示81-100的数据,请问可以如何实现???也不能设置行宽,请问各位大侠想想办法啊!!!!
展开
1个回答
展开全部
好像印象里 BCG 的那套插件 就有这功能,
VC对应的是 CMFCXXXX 这种, 你找下 对应的listctrl例子 (08版以上)
一般笨办法 就是自己设计个结构.
比如
有数字型标号 和 实际显示文字.
你可以在 combo box的selchange中获取3个类型组织个switch结构
并在case 分支中 将数据筛选完成, 并在函数最后 调用 listctrl的remove 和 add.
VC对应的是 CMFCXXXX 这种, 你找下 对应的listctrl例子 (08版以上)
一般笨办法 就是自己设计个结构.
比如
有数字型标号 和 实际显示文字.
你可以在 combo box的selchange中获取3个类型组织个switch结构
并在case 分支中 将数据筛选完成, 并在函数最后 调用 listctrl的remove 和 add.
更多追问追答
追问
这个高深啊 我不会设计这个结构啊 ,我新手,看不懂啥意思 ,咋操作.
追答
额. 首先我理解你意思是 下面描述, 看有没有出入.
在第2个dialog中的combobox点选项切换,
控制第1个dialog中的listctrl 内容切换...
如果类似. 那上面说了的.
BCG插件里 就有类似的listctrl,
如果你是VS08版以上, VS本身就集成了BCG的东西, 在MFC 里 叫CMFCXXX.
你上面说了 你的数据是从远端读过的, 所以本地一定需要用内存存储,
一般用个STL容器 存下来.
你需求的筛选显示的效果. 需要用到筛选的关键字,
比如 你的对象结构中有 keyword 分别对应 combo中的3个类型
如 keyword = CB_TYPE_1;
那你这100条数据, 每个数据对应一个对象, 并且对应一个keyword.
你显示的时候, 就可以随便控制显示了.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询