> </P>
> </P>2 y$ n6 h. M" |3 e' ?* `
>天津大学电子与信息工程学院 </P>) y* F/ A) a* U0 C/ n! K; n
>宋天宁 </P>
>---- 列表框控件在应用程序中的使用率很高,在Windows中经常见到, </P>
>它有四种常见的式样,分别具有显示大图标,小目标,含有图标的多列列表,含 </P>
>有列标头的列表。我们也经常见到一些扩展功能,例如我们在资源管理器中的文 </P>
>件列表框中,在选用详细资料察看时,用鼠标单击列标头,如大小,则所列文件 </P>: m% N; _: h" s
>按大小排序;单机日期,则按文件日期进行排序.这一功能增强了应用程序的可用 </P>3 Z p4 j$ W% f
>性,使操作更直观、方便。笔者在以Borland C++Builder 3.0(以下简称BCB)作 </P>
>为开发平台实现这一功能时发现,仅通过设定列表框控件的属性值的方法,只能 </P>
>根据项目的首列加以排序,不能根据子项目(SubItems)排序。因此,我们需要编 </P>' j/ a: ~& |) u; v& ]9 ~
>写自己的代码以完成这一功能。 </P>( K+ t J* N/ m2 F( K3 {# ]
> </P>- I5 D1 ?+ [0 f6 [- ], j$ d& d
>---- 以下描述如何在BCB开发平台上为列表框添加列标头点击排序功能,当我们 </P>
>点击的次数为奇数时,所列内容以降序排列;当我们点击的次数为偶数时,所列 </P>
>内容以升序排列。 </P>; v/ [$ o( P" Z. i! K! _8 ^% q
> </P>: c. h7 ]3 ^! U1 q" P* O: C
>---- 首先将一个列表框控件安放在Form上,并将其名称设为ListView1。然后在 </P>
>其中添加若干项目作为试验对象。方法为:用鼠标右键单击控件,在弹出的对话 </P> f5 [9 W. a9 q) B" K/ j
>框中选择Columns Editor用来添加列和子列;再选Items Editor用来添加项目( </P>
>包含子列和主列上的内容)。 </P>
> </P>
>---- 为了显示出子项目内容,需要在Object Inspector中修改ListView属性值 </P>5 Y% w2 j- @$ V3 N/ I/ y2 b9 z
>,将ViewStyle设置为vsReport。另外,还必须将SortType设置为None,以使我 </P>
>们的排序程序起作用。这样,程序的外观已经符合需要,下面应该增加排序功能 </P>
>的代码了。为此需要添加类的方法到源代码中。添加位置为: </P>
> </P>
> </P>/ h' M4 g3 P. S% p' b
>void __fastcall TForm1:
istView1ColumnClick </P>| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |