作者:星轨(oRbIt)
E_Mail :inte2000@163.com
转载请注明原作者,否则请勿转载
在下拉列表框中显示树状结构 下拉列表框(或称组合列表框)是在Windows系统下开发软件最常用的控件之一,该控件适用性强且使用简单,因而深受开发人员喜爱。一个典型的用户界面就是使用下拉列表框(或称组合列表框)显示数据库中相关表名或某个表中的某个字段的全部数据,用户通过鼠标选择某一项后进行相关操作。在这种情况下使用下拉列表框对数据选择可以简化操作,用户也比较喜欢这种方式,但是简单的下拉列表框无法表达数据之间的相互关系,比如两个数据项之间的父子关系或包容关系等。开发人员通常希望能在简化用户操作的同时向用户提供这些信息以方便用户决定下一步操作。针对这种情况我们使用MFC开发了一个支持显示树状结构的CComboBox派生类CWzComboBox,并且该派生类已经成功应用到我们的软件中,现在我们将代码公开,希望对广大开发人员有所帮助,也希望大家共同完善它。(演示程序运行示例如图1所示)
图1 演示程序运行实例
首先我们对CwzComboBox类的自定义函数和相关的数据结构做简要的说明。要使列表框能够显示树状结构,首先应该设计一个数据结构用于记录列表中各个项之间的关系。我们定义了一个结构用于存储节点之间的关系,不妨将之称为信息数据结构,如下所示:
结构成员wParantOriginIdx和wOriginIdx分别用以存储该项的父