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

請教如何能讓Canvas一直顯示呢?

尚未結案
SKYSTAR
中階會員


發表:76
回覆:198
積分:64
註冊:2002-06-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-12 23:12:40 IP:210.66.xxx.xxx 未訂閱
各位大大們好....    目前我在Form中貼上一個Image,其Visible設成False.... 然後在一個程序中將該Image的水平線內容,設定到Form1.Canvas中... 簡單說就是做成一個像流水般從上到下的將圖形給顯示出來.... 目前是可以正常做到我要的功能了...    可是我發現一個問題...就是在圖形尚未完全顯示出來之前,如果將Form給最小 化....簡單說,就是有可能會按到 D,或 M的系統鍵(將所有視窗給最小化)時, 這一個Form1.Canvas就顯示不正常了...!! 因此...請教各位大大!! (1)是否有可能讓Form1.Canvas保持顯示而不因為任何操作導致失常! (2)曾看過一些鍵盤攔截的文章,可是好像針對系統按鍵不起作用..... 我知道有一個方式是用類似螢幕保護的作法,可是該作法又好像只能針對Win98有作用....!! (SystemParametersInfo) (3)還是說是否有什麼方式可以讓Windows忙錄中而無法按下任何按鍵或是Mouse按鍵,可是同時還要能該圖形繼續的往下顯示....!! 在此先謝謝各位大大了!!
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-13 14:49:22 IP:61.62.xxx.xxx 未訂閱
SKYSTAR, 您好 建議從Form的OnResize事件中去重繪Canvas方向思考,或許可以解決您的問題。 我也在努力學習中 ^ ^ 發表人 - adonis 於 2004/03/13 14:50:07
------
我也在努力學習中,若有錯謬請見諒。
SKYSTAR
中階會員


發表:76
回覆:198
積分:64
註冊:2002-06-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-13 17:08:48 IP:203.73.xxx.xxx 未訂閱
引言: SKYSTAR, 您好 建議從Form的OnResize事件中去重繪Canvas方向思考,或許可以解決您的問題。 我也在努力學習中 ^ ^ 發表人 - adonis 於 2004/03/13 14:50:07
謝謝您.... 可是如果是用重繪的話,會有一個問題.... 就是處理上會比較麻煩的... 因為比如說目前已經顯示出圖形的下半部了...然後被最小化...此時必須先記 錄該圖形已顯示了多少,然後才能在視窗又顯示時,再將剛記錄的部份給重繪回 去....這一部份還沒有實作...所以也不知道會不會成功!! 所以我才會想到利用我上一篇的方式構想之...!! Thanks!!
brucetsao
一般會員


發表:1
回覆:33
積分:11
註冊:2002-09-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-14 20:29:41 IP:61.219.xxx.xxx 未訂閱
1.在被蓋住之前,用method先將form的canvas先save到temp memory或 temp file 2.在畫面呼叫repaint時可用load方式在載入 或在repaint時 1.在被蓋住之前,記住畫過所有東西 2.在畫面呼叫repaint時可用載入畫過步驟,重新在畫
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-15 08:16:03 IP:202.39.xxx.xxx 未訂閱
小弟的看法, 再用一個 TImage 元件, Visible 設 True 用 TImage.Canvas 來取代 Form1.Canvas 的顯示 --- 屬於那自己生命的歌 不管是什麼顏色
系統時間:2024-05-02 10:12:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!