TListView有Column寬度改變的Event嗎?或是可以Edit Subitem? |
尚未結案
|
jimmy_and_you
初階會員 發表:20 回覆:74 積分:33 註冊:2003-05-12 發送簡訊給我 |
|
m8815010
版主 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: 最近使用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 發送簡訊給我 |
感謝版主大大回覆,我目前的解決辦法就是使用跟你差不多的的方式:
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=47898
不過我覺得這招有2個地方有小瑕疵:
1.我不會偵測Scoll Bar的寬度,有時候會跟Scoll Bar重疊
2.Column寬度改變的瞬間沒辦法跟者移動
~~~3Q3Q
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |