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

如何在圖片顯示完後,清空畫面重新顯示

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


發表:23
回覆:20
積分:8
註冊:2007-08-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-09-17 11:54:39 IP:220.130.xxx.xxx 訂閱

[code cpp]
while(bRunStop != true)
{


for (int i = 0 ; i < 25 ; i )
{


DoEvents(1);
ImgPic[i]->Parent = Form1;
//ImgPic[i]->Tag = i;
ImgPic[i]->Width = 160;
ImgPic[i]->Height = 120;
ImgPic[i]->Top = 10 (i/5)*(10 120);

// place five image from right to left
if (((i / 5) % 2) == 0)
ImgPic[i]->Left = 10 (i%5)*(10 160);
// place next five image from left to right
if (((i / 5) % 2) == 1)
ImgPic[i]->Left = (1024-174) - ((i%5)*10 (i%5 1)*160);

// display image one by one
ImgPic[i]->Stretch = true;
ImgPic[i]->Picture->LoadFromFile("./sample/" IntToStr(i) ".bmp");

Sleep(100);
//Application->ProcessMessages();

}

for (int i = 0 ; i < 25 ; i )
ImgPic[i]->Picture = NULL;


};


[/code]

我的程式是25張圖片,之字形排列,一個一個依序顯示出來
顯示完第25張後,清空畫面,重新由第一張開始顯示

我寫一個 loop 清空
可是這樣會連第25張都還沒顯示出來就清空了
請問該怎麼解決呢?
謝謝~
編輯記錄
licheer 重新編輯於 2007-09-17 12:01:31, 註解 無‧
licheer 重新編輯於 2007-09-17 12:02:14, 註解 無‧
dllee
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-09-17 13:22:07 IP:220.134.xxx.xxx 訂閱
您的需求是: A.「顯示完第25張後,清空畫面,重新由第一張開始顯示
還是 B.「顯示元第25張後,重新由第一張開始顯示

如果是 A. 又如果希望在顯示元第 25 張時可以看到全部,那就在第 1 個 For (draw) 及第 2 個 For(clear) 之間加入等待 loop,如

[code cpp]
for(int i=0;i<10;i )
{
Sleep(100);
Application->ProcessMessages();
}
[/code]

否則,第 25 張一繪完,你還沒來得及看到,就清空了,自然會發生您遇到的狀況。

如果是 B. 那就把第 2 個 For 去掉即可。



強力推薦 ShareMe 免費網路硬碟VMASKVMIO-Server/SECS/GEMdllee's blogdllee's StatPlus
------
http://www.ViewMove.com
licheer
一般會員


發表:23
回覆:20
積分:8
註冊:2007-08-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-09-17 13:50:14 IP:220.130.xxx.xxx 訂閱
嗯~ 是A的情形
問題解決了~謝謝
系統時間:2024-05-03 23:15:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!