全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1850
推到 Plurk!
推到 Facebook!

如何在listview中添加gauge,且拖动滚动条时不消失

尚未結案
pcsoftdiy
一般會員


發表:8
回覆:14
積分:4
註冊:2005-03-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-18 10:58:02 IP:218.94.xxx.xxx 未訂閱
请问各位前辈: 我在listview中添加gauge,程式码如下: procedure TForm1.Button1Click(Sender: TObject); var r: TRect; begin listview_seticonspacing(listview1.handle,105,130); with ListView1 do BEGIN ViewStyle := vsicon; Items.Add.Caption := IntToStr(Items.Count ); r := Items[Items.count-1].DisplayRect(dricon); end; Gauges2 :=TGauge.Create(self); Gauges2.Parent :=ListView1; Gauges2.BoundsRect :=r; Gauges2.Progress :=50; Gauges2.ShowText :=True; Gauges2.Kind := gkHorizontalBar; end; 的确是增加到了listview icon的位置,可是增加到一定数量,拖动滚动条gauge便消失不见或者屏幕模糊,小弟无从下手,请各位前辈指点,深表感谢
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-18 19:34:10 IP:61.31.xxx.xxx 未訂閱
不是很建議這種方式。 太沒有效率了,並且較佔資源。 為何不透過 CustomDrawItem 事件,自己畫呢?
pcsoftdiy
一般會員


發表:8
回覆:14
積分:4
註冊:2005-03-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-18 20:35:53 IP:218.94.xxx.xxx 未訂閱
发完帖子,用customdrawitem画了个gauge在listview上。 解决了拖动滚动条模糊的问题。 但诚如前辈所言,比较占资源。 不知有没有更好的方法
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-18 21:00:07 IP:61.31.xxx.xxx 未訂閱
不知有沒有更好的方法。 指的是? 我覺得customdrawitem應該就可以了。 若堅持使用TGauge。 會發生"拖動滾動條gauge便消失不見或者屏幕模糊"的原因。 主要是拖動滾動條時,畫面未刷新的原因。 可在 WM_VSCROLL 或者是WM_MOUSEWHEEL 訊息事件中,加入刷新的動作。 發表人 - wameng 於 2005/04/18 21:03:29
pcsoftdiy
一般會員


發表:8
回覆:14
積分:4
註冊:2005-03-30

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-19 12:34:15 IP:218.94.xxx.xxx 未訂閱
谢谢版主。 因为要利用gauge的进度条显示。自画觉得工作量太大。 我已在 CustomDrawItem 事件中显示gauge。拖动时也会重画屏幕,解决了屏幕显示的问题。 但另外有一个问题。 就是我动态create的gauge不知什么时候free。虽然程式运行起来尚未发现问题。但总感觉借了gauge没还。
系統時間:2024-07-05 4:08:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!