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

如何讓畫面不要閃爍

答題得分者是:dllee
8325100
一般會員


發表:7
回覆:7
積分:2
註冊:2003-05-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-12 15:52:48 IP:211.22.xxx.xxx 未訂閱
我用Timer元件設每五粆鐘重新更新類似ListView元件內的資料,結果每五秒執行後,畫面上的ListView元件會閃爍跳動,請問要如何解決此問題讓畫面上的 ListView元件,每五秒不會閃爍跳動
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-13 15:13:41 IP:203.204.xxx.xxx 未訂閱
引言: 我用Timer元件設每五粆鐘重新更新類似ListView元件內的資料,結果每五秒執行後,畫面上的ListView元件會閃爍跳動,請問要如何解決此問題讓畫面上的 ListView元件,每五秒不會閃爍跳動
您可以試試將 ListView 的 DoubleBuffered 屬性設 true 或 ListView 所在的 Panel 或 Form 的 DoubleBuffered 屬性設 true,還有在更新 ListView Items 時,最好用如下的方式:
    ListView1.Items.BeginUpdate;
    try
      // 增減 ListView1.Items
    finally
      ListView1.Items.EndUpdate;
    end;
先執行 BeginUpdate ,等更新完 Items 再執行 EndUpdate ,這樣在更新的過程中,ListView 元件會暫停更新,等 EndUpdate 時,再一次更新,這樣,閃爍的情況會改善很多,同時更新 Items 所占用的時間也會比較少,因為減少不必要的重繪。 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
8325100
一般會員


發表:7
回覆:7
積分:2
註冊:2003-05-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-14 14:01:02 IP:211.22.xxx.xxx 未訂閱
非常感謝dllee的回答,我的閃爍的情況己經改善很多了 能問一下DoubleBuffered 屬性,是做什麼功用呢
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-14 20:44:58 IP:61.224.xxx.xxx 未訂閱
以下取自 BCB5 DoubleBuffered 的線上說明
引言: Description When DoubleBuffered is false, the windowed control paints itself directly to the window. When DoubleBuffered is true, the windowed control paints itself to an in-memory bitmap that is then used to paint the window. Double buffering reduces the amount of flicker when the control repaints, but is more memory intensive. When a windowed control is a dock site and has an associated dock manager, it must be double-buffered.
就是說當 DoubleBuffered 為 TRUE 時,元件在更新畫面時,會先將要更新的部分畫在內部記憶體,等全部需要更新的部分都畫完後,再一次更新的元件上,這樣可以避免使用者看到中間更新的過程,可以減少閃爍情況,而其缺點是,會多占用一些記憶體。不過,我想這是值得的 <>沒空更新的網頁... href="http://dllee.adsldns.org">http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
8325100
一般會員


發表:7
回覆:7
積分:2
註冊:2003-05-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-17 10:03:24 IP:211.22.xxx.xxx 未訂閱
謝謝
loosir
一般會員


發表:2
回覆:6
積分:1
註冊:2003-07-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-07-20 19:02:32 IP:218.106.xxx.xxx 未訂閱
用DoubleBuffered的效果非常不错。
------
天地间一闲人
系統時間:2024-11-23 19:31:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!