線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1064
推到 Plurk!
推到 Facebook!

TListView有Column寬度改變的Event嗎?或是可以Edit Subitem?

尚未結案
jimmy_and_you
初階會員


發表:20
回覆:74
積分:33
註冊:2003-05-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-30 18:01:44 IP:203.70.xxx.xxx 未訂閱
最近使用TListView這個元件做一個類似下圖的介面 要有CHECK BOX 還要能對所有的欄位都能編輯,我的TListView->ViewStyle = vsReport 目前我只能修改每一列的第一項(使用EditCaption();),至於第2項(SubItem)都不能編輯 不知道是否有人遇到類似的問題??能否告訴我解決的方法? 也曾經用一個TEdit去模擬Editor(如上圖)不過效果不好
m8815010
版主


發表:99
回覆:372
積分:289
註冊:2003-11-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-08 16:25:32 IP:61.63.xxx.xxx 未訂閱
引言: 最近使用TListView這個元件做一個類似下圖的介面 要有CHECK BOX 還要能對所有的欄位都能編輯,我的TListView->ViewStyle = vsReport 目前我只能修改每一列的第一項(使用EditCaption();),至於第2項(SubItem)都不能編輯 不知道是否有人遇到類似的問題??能否告訴我解決的方法? 也曾經用一個TEdit去模擬Editor(如上圖)不過效果不好
jimmy_and_you兄你好< >: 我覺得你這題真是我遇過最難的難題了< >! 首先針對你題目的第一個小題目,Column寬度改變的event? 1. 以ListView現有的事件來說,它的隨便一個draw(好像共7個)都可以那來借用(但注意不是所有7個都行),因為你在拖拽column改變它的寬度時,listview必需同時redraw它的所屬item,以對應你的column事件所造成的影響,所以借用這些draw事件會有異曲同工之用! 這裏我就不寫範例了,但我測試過是可以的! 2. 以訊息來說,ListView有一個LVM_SETCOLUMN的事件可以攔截,以告知我們是否column有被拖拽過,但這個訊息是要滑鼠拖完放下後那一刻才會觸發的,效果比較不好! 範例也不在多寫了< >! 回到主題,這問題我找遍了所有訊息,沒有發現可以對 >! 還有很多很多的想法,可是都無法實現,所以最後我還是用你所試過的那招了< >! 小小試驗結果放在 < href="http://delphi.ktop.com.tw/topic.php?TOPIC_ID=47872">http://delphi.ktop.com.tw/topic.php?TOPIC_ID=47872 結論是方法很土,但是效果來講的話,應該是可以做到很好很像的,因為什麼效果不足就加就對了,加到所有效果都有為止!反正就是模擬item caption編輯時的效果就對了! 像不像三分樣,我覺我這個sample至少可以讓我們思微這樣硬做的可行性,jimmy_and_you兄你覺得呢? 發表人 -
jimmy_and_you
初階會員


發表:20
回覆:74
積分:33
註冊:2003-05-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-08 19:48:39 IP:61.70.xxx.xxx 未訂閱
感謝版主大大回覆,我目前的解決辦法就是使用跟你差不多的的方式: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=47898 不過我覺得這招有2個地方有小瑕疵: 1.我不會偵測Scoll Bar的寬度,有時候會跟Scoll Bar重疊 2.Column寬度改變的瞬間沒辦法跟者移動 ~~~3Q3Q
系統時間:2024-05-21 3:08:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!