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

TScrollbar的元件如何讓其不閃爍

尚未結案
lanyi
一般會員


發表:18
回覆:27
積分:9
註冊:2002-06-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-01 18:24:43 IP:61.224.xxx.xxx 未訂閱
當在fomr上加一個TScrollbar的元件後,執行時會出現TScrollbar元件會一直閃爍,要如何才能讓它不閃爍呢(除了加一個按鈕使其position移動,而不閃爍外),有沒有可函式呼叫使不閃爍?
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-01 23:24:50 IP:218.16.xxx.xxx 未訂閱
在 FormShow 事件 加入 : ScrollBar1.ControlStyle := ScrollBar1.ControlStyle - [csFramed]; 不過一按它就又閃囉。 你可以在它的 onExit 也加入這句,這樣當使用者轉到別的元件時它就會停閃了。 (本來這題不懂所以不答,但見沒人答又有可能做很到,唯有亂試囉,開始體會到各版主的辛苦。)
lanyi
一般會員


發表:18
回覆:27
積分:9
註冊:2002-06-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-02 12:55:23 IP:61.217.xxx.xxx 未訂閱
大大,我有試過你的方法,但是沒有效果,一產生form的時候,scrollbar還是在閃,到底有沒有別的方法呢?
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-02 13:27:25 IP:218.16.xxx.xxx 未訂閱
你用它來作 active control (或全Form只有它一個 Control)當然他就閃啦,你多加個 Control 如 Tedit 並將在Form的 ActiveControl 設定別的 Control 就可以了。我在 Delphi 5/7 Window 98 / 2K 都試過。 基本上 TScrollbar 是沒有選項去設定不閃的,我的做法只是勉強修改了它的內部設定使他不閃,但當他拿到 Focus 他是會自己改回來的,沒辦法。不然你就要自己承繼一個子代元件再慢慢修改罷。
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-02 13:36:52 IP:61.218.xxx.xxx 未訂閱
那是Scrollbar 的Focus,為何要讓它不閃? 很正常的呀? 那不能算是bug 如果你要讓它不閃,那麼可以去追這個元件的Source code  看看是什麼影響它閃動的這個"行為"    不是改寫VCL成為新的元件,不然就是看看有沒有其它的3 party元件     可以說說看你的用途與用意嗎?         發表人 - ddy 於 2003/04/02 13:40:33
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-02 14:29:10 IP:218.16.xxx.xxx 未訂閱
ddy 版主說得對,是小弟試時試亂了。 後來再看清楚,即使你願意承繼 TScrollBar 來修改亦應改不到,因這個閃的動作不是VCL 控制的而是 Windows 的 ScrollBar Class 就是這樣的。除非你原全寫過整個 Scroll Bar (或使用別人寫了的),否則是不可以改變這個動作的。 正途不成小弟就喜觀用旁門 : 1. 加一個可以 Focus 的control (如TEdit 或另一個 TScrollBar),給個名字(如 foo),並讓別的元件(如 ScrollBar1)放在他上面使之不見 2. 在Form的 Active Control 設定一個非 TScrollBar 的Control, Foo 亦可。 3. 在 TScrollBar 的 onChange 事件設定 : Foo.SetFocus; 這樣,每次使用者按scroll bar 當 Scroll 後 Focus 便會去到看不見的 Foo, ScrollBar1 亦不會閃了。
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-02 14:51:47 IP:61.218.xxx.xxx 未訂閱
Justmade good idea!    但是我覺得…就算閃動…有問題嗎??? 問題的想法,其動機為何? 這lanyi 是要說明白的 寫程式最怕的是…陷入鑽牛角尖 如果是想要研究元件的行為與寫法,倒是合理的研究        
YuHeng
一般會員


發表:8
回覆:13
積分:4
註冊:2003-02-26

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