Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[BCB][Delphi]請問ListView該如何作樹狀展開?

0 views
Skip to first unread message

Edward Sayer

unread,
Feb 11, 1999, 3:00:00 AM2/11/99
to
Hi, 大家好!
當我們用 News reader(outlook express, netscape newsgroup...) 收 news時,
假如一篇文章有人回
信,那麼那篇文章在 news reader 上就會在 subject 的左邊以一個 + 號表示有
相關文章(子節點),
按了 + 號 ListView 的子節點會展開...
請問這在程式中要怎麼做, ListView 元件原來就有這種功能嗎(我找它的mothod
都找不到說)?還是要
自己寫?
請知道的人說明一下,謝謝。
Edward.

Edward Sayer

unread,
Feb 11, 1999, 3:00:00 AM2/11/99
to gin

gin wrote:
>
>
> >Hi, 大家好!
> >當我們用 News reader(outlook express, netscape newsgroup...) 收 news時,
> >假如一篇文章有人回
> >信,那麼那篇文章在 news reader 上就會在 subject 的左邊以一個 + 號表示有
> >相關文章(子節點),
> >按了 + 號 ListView 的子節點會展開...
> >請問這在程式中要怎麼做, ListView 元件原來就有這種功能嗎(我找它的mothod

> >都找不到說)?還是要...........
> ListView 元件本身就有這功能了吧...

對不起,小弟實在不才,剛剛又把 ListView 的 help 看過一遍,實在看不出來要
用哪一個 property 或 method,能不能給一點提示啊!

霹靂狗

unread,
Feb 11, 1999, 3:00:00 AM2/11/99
to
On 11 Feb 1999 06:01:25 GMT, Edward Sayer <open...@hello.com.tw>

你找錯元件了,
那是TreeView,不是ListView...


Edward Sayer

unread,
Feb 11, 1999, 3:00:00 AM2/11/99
to 霹靂狗

對啊,TreeView 可以有子節點,可是它能像 ListView 那樣有多欄位嗎 ?
我找不到它有這種功能啊!
我說的功能是有"子節點"(TreeView?),又有"多欄位"(ListView?)的元件。
請問有沒有這種元件啊? 像底下這樣啊。

|Subject |Send |Date
+ [BCB][Delphi]請問ListView該如何作樹狀展開? Edward Sayer 02:49:06
+ Re: [BCB][Delphi]請問ListView該如何作樹狀展開? Edward Sayer 04:23:20
+ Re: [BCB][Delphi]請問ListView該如何作樹狀展開? 霹靂狗 12:12:32

Edward.

霹靂狗

unread,
Feb 12, 1999, 3:00:00 AM2/12/99
to
==> 在 open...@hello.com.tw (Edward Sayer) 的文章中提到:

: "霹靂狗" wrote:
: > On 11 Feb 1999 06:01:25 GMT, Edward Sayer <open...@hello.com.tw>
: > wrote:
: > 你找錯元件了,

: > 那是TreeView,不是ListView...
: 對啊,TreeView 可以有子節點,可是它能像 ListView 那樣有多欄位嗎 ?
: 我找不到它有這種功能啊!
: 我說的功能是有"子節點"(TreeView?),又有"多欄位"(ListView?)的元件。
: 請問有沒有這種元件啊? 像底下這樣啊。
: |Subject |Send |Date
: + [BCB][Delphi]請問ListView該如何作樹狀展開? Edward Sayer 02:4
: + Re: [BCB][Delphi]請問ListView該如何作樹狀展開? Edward Sayer 04:2
: + Re: [BCB][Delphi]請問ListView該如何作樹狀展開? 霹靂狗 12:1
: Edward.

啊,不好意思,沒看清楚 ,
我以為說那個OutLook左邊的那一個。
至於您所說的的確確是個貨真價實Windows標準的ListView,
而ListView也的確沒有類似TreeNode的用法,
那OutLook是怎麼回事呢??
其實那種所謂的Node方式的程現的界面是假的,
那是用ListView的Report模式,
然後在SmallImage(畫文件小圖)和StateImage(畫+,-號)上做手腳,
然後指定每一個TListItem的ImageIndex和StateIndex,
就可以設定每一個TListItem在ListVIew中出現的圖示,
這樣外觀看起來就很像有那個一個節點在那邊,
然後再攔它的MouseDown,點在State的圖示上時,
做展開(其實是Insert Item)或是縮回(其實是Delete Item),
至於要Insert/Delete多少Item,用您自己的資料結構來決定...

但唯一不像的一點,
就是在您的資料結構上,定義為子節點的子一項ListItem,
應該是要往裏面縮一點的,
但是要如何讓一個ListItem往裏面縮一點呢?
這功能好像是Miscrosoft新版的COMCTL32.DLL才加進來的,
所以Delphi 3和BCB 3中的ListView沒有這功能,
要用Delphi 4,它的TListItem有包裝出一個Indent屬性,
就可以指定住內縮的單位。
ps. 好累~~~

Edward Sayer

unread,
Feb 13, 1999, 3:00:00 AM2/13/99
to 霹靂狗

"霹靂狗" wrote:
> : |Subject |Send |Date
> : + [BCB][Delphi]請問ListView該如何作樹狀展開? Edward Sayer 02:4
> : + Re: [BCB][Delphi]請問ListView該如何作樹狀展開? Edward Sayer 04:2
> : + Re: [BCB][Delphi]請問ListView該如何作樹狀展開? 霹靂狗 12:1

>

> 但唯一不像的一點,
> 就是在您的資料結構上,定義為子節點的子一項ListItem,
> 應該是要往裏面縮一點的,
> 但是要如何讓一個ListItem往裏面縮一點呢?
> 這功能好像是Miscrosoft新版的COMCTL32.DLL才加進來的,
> 所以Delphi 3和BCB 3中的ListView沒有這功能,
> 要用Delphi 4,它的TListItem有包裝出一個Indent屬性,
> 就可以指定住內縮的單位。
> ps. 好累~~~

啊,真是謝謝你了,原來是自己要去寫的,我剛剛又看了bcb3.0 中 listview 的
property,
的確是沒有 indent 這個屬性…
用慣了 componment,總是先找找看是否有現成的,看來,這次是免不了要 hard
coding 了。

Edward.

0 new messages