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

Form層級的BeginUpdate要如何處理呢?

尚未結案
BGman
初階會員


發表:28
回覆:85
積分:42
註冊:2003-01-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-15 12:00:30 IP:211.22.xxx.xxx 未訂閱
有許多元件,例如 TMemo 都有 BeginUpdate 的Method ,源自TStrings::BeginUpdate( ) 目的是用來抑制大量資料更新時畫面的閃動,小弟下面有一個情況會造成閃動。 在Form1 有一個 PageControl ,上面放置了十五個FlyTreeView( 商業元件 ), 為了編輯的整齊性必須將 Align 先設成 alNone 等到FormCreate 在將其設成 alClient 程式執行時,會動態產生 PageControl 的頁籤,並且在觸發 PageControlChang 事件時, 當該頁籤第一次被點選到,才開始設定Align 由alNone 改成alClient,造成畫面的閃動! 但是如果在Design Time 就把Align 設成 alClient,這十五個擠成一團編輯非常不方便 請問各位前輩,都是怎麼處理這種狀況的?
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-15 14:39:49 IP:147.8.xxx.xxx 未訂閱
I think you could lock the window of the form for update, e.g. LockWindowUpdate(Form1->Handle); // lock the window // update LockWindowUpdate(0); // unlock ALL window, i.e. force a redraw
BGman
初階會員


發表:28
回覆:85
積分:42
註冊:2003-01-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-21 14:58:36 IP:211.22.xxx.xxx 未訂閱
感謝 william 桑,介紹這支 API! 果然問題迎刃而解! 發表人 - BGman 於 2003/04/21 15:07:17
系統時間:2024-04-20 4:06:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!