關於ListView的設定 |
答題得分者是:老大仔
|
Gordon0823
一般會員 發表:4 回覆:5 積分:1 註冊:2010-08-25 發送簡訊給我 |
不好意思,我想請問一下各位高手,
本人寫了一支小程式,將程式執行列表載入到ListView上面, 當程式執行時,ListView會顯示該行反白。 目前我用 ListView->Items->Item[i]->Selected來做反白的動作 但是出現幾個問題 1. 開始執行時,ListView不會顯示Select,一定要點入ListView的視窗才會正常顯示(也就是先用滑鼠反白) 2. 點入其他元件ListView的反白就消失了 3.是否可以讓ListView單純顯示,對於外部的控制(如用滑鼠點選依然會反白,下一秒才回偵測值)不會有反應? 4.當Select的值超過顯示大小,是否能控制捲軸讓Select的選項能夠顯示在視窗內? 希望各位高手能指導我一下,或分享一下意見,謝謝。 |
老大仔
尊榮會員 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
1. ListView先SetFocus,再來做Selected,就會反白。
2 3. 這是因為滑鼠已經Focus到別的元件上了,所以理所當然的反白會不見。 要解決這方法可用DrawItem的方式來實做。 詳細用法請先在本站爬文,本站已經有許多文章有討論過關於DrawItem的東西。 4. 這應該是沒辦法,要不然就再用個ListBox之類的東西來給使用者知道已有哪些有選擇。 ===================引 用 Gordon0823 文 章=================== 不好意思,我想請問一下各位高手, 本人寫了一支小程式,將程式執行列表載入到ListView上面, 當程式執行時,ListView會顯示該行反白。 目前我用 ListView->Items->Item[i]->Selected來做反白的動作 但是出現幾個問題 1. 開始執行時,ListView不會顯示Select,一定要點入ListView的視窗才會正常顯示(也就是先用滑鼠反白) 2. 點入其他元件ListView的反白就消失了 3.是否可以讓ListView單純顯示,對於外部的控制(如用滑鼠點選依然會反白,下一秒才回偵測值)不會有反應? 4.當Select的值超過顯示大小,是否能控制捲軸讓Select的選項能夠顯示在視窗內? 希望各位高手能指導我一下,或分享一下意見,謝謝。 |
Gordon0823
一般會員 發表:4 回覆:5 積分:1 註冊:2010-08-25 發送簡訊給我 |
謝謝老大的說明,
現在第一點的問題已經解決。 但是在DrawItem上面,我不知道該如何利用。 因此轉換個方向,想利用改變該行的底色來取代反白。 ListView似乎不支援這種作法,我想先嘗試著用StringGrid來解決這問題。 但不知道能不能用來解決問題4,還是有其他元件可以做到? ===================引 用 老大仔 文 章=================== 1. ListView先SetFocus,再來做Selected,就會反白。 2 3. 這是因為滑鼠已經Focus到別的元件上了,所以理所當然的反白會不見。 要解決這方法可用DrawItem的方式來實做。 詳細用法請先在本站爬文,本站已經有許多文章有討論過關於DrawItem的東西。 4. 這應該是沒辦法,要不然就再用個ListBox之類的東西來給使用者知道已有哪些有選擇。 |
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
|
老大仔
尊榮會員 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
既然是以DrawItem了,那就請用CustomDrawItem為關鍵字來搜尋本站文章。
也順帶一個連結給您: http://delphi.ktop.com.tw/board.php?cid=30&fid=71&tid=49233 其他的請自行爬文 另外~再给您一些方向: 1. 當DrawItem中,您只要判斷該item是否有被選到,有選到的話就將顏色改變。(假如不是的話就都不用做) 2. 該篇文章雖然是在講ListBox,但您可以用在ListView中,只不過~您必須寫在CustomDrawItem中。 此方式是直接將該item給著色上去,利用著色,來代替所選擇的顏色。 選到哪個item,該item就變色,這樣給人的感覺就像是選到了一樣, 而且也可以讓"因滑鼠點選到別的元件時,ListView被選到item顏色就不見" 給避免掉。 ===================引 用 Gordon0823 文 章=================== 謝謝老大的說明, 現在第一點的問題已經解決。 但是在DrawItem上面,我不知道該如何利用。 因此轉換個方向,想利用改變該行的底色來取代反白。 <--- 我一開始所提供的方法就是如此 ListView似乎不支援這種作法,我想先嘗試著用StringGrid來解決這問題。 但不知道能不能用來解決問題4,還是有其他元件可以做到? ===================引 用 老大仔 文 章=================== 1. ListView先SetFocus,再來做Selected,就會反白。 2 3. 這是因為滑鼠已經Focus到別的元件上了,所以理所當然的反白會不見。 要解決這方法可用DrawItem的方式來實做。 詳細用法請先在本站爬文,本站已經有許多文章有討論過關於DrawItem的東西。 4. 這應該是沒辦法,要不然就再用個ListBox之類的東西來給使用者知道已有哪些有選擇。
編輯記錄
老大仔 重新編輯於 2010-09-07 16:36:29, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |