gin wrote:
>
>
> >Hi, 大家好!
> >當我們用 News reader(outlook express, netscape newsgroup...) 收 news時,
> >假如一篇文章有人回
> >信,那麼那篇文章在 news reader 上就會在 subject 的左邊以一個 + 號表示有
> >相關文章(子節點),
> >按了 + 號 ListView 的子節點會展開...
> >請問這在程式中要怎麼做, ListView 元件原來就有這種功能嗎(我找它的mothod
> >都找不到說)?還是要...........
> ListView 元件本身就有這功能了吧...
對不起,小弟實在不才,剛剛又把 ListView 的 help 看過一遍,實在看不出來要
用哪一個 property 或 method,能不能給一點提示啊!
對啊,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.
啊,不好意思,沒看清楚 ,
我以為說那個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. 好累~~~
"霹靂狗" 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.