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