如何在顯示圖片時,仍有視窗的控制權 |
答題得分者是:dllee
|
licheer
一般會員 ![]() ![]() 發表:23 回覆:20 積分:8 註冊:2007-08-19 發送簡訊給我 |
我參考網站上的資料
寫出以之字形排列出25張圖片的function 可是在顯示的過程中,完全不能對此視窗做其他命令(拖曳....等) 要等到25張都跑完後,控制權才又會到使用者 請問要怎麼解除這個問題呢 進一步,我想下命令中斷他, 大概要怎麼寫呢? 附上我的code, 先謝謝各位 ~~ ^^ <textarea cols="60" rows="10" class="cpp" name="code"> for (int i = 0 ; i < 25 ; i ) { ImgPic[i] = new TImage(Application); ImgPic[i]->Parent = Form1; ImgPic[i]->Width = 160; ImgPic[i]->Height = 120; ImgPic[i]->Top = (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(IntToStr(i) ".bmp"); Refresh(); Sleep(100); } for (int i = 0 ; i < 25 ; i ) ImgPic[i]->Picture = NULL; </textarea><br /> 編輯記錄
licheer 重新編輯於 2007-09-12 15:09:59, 註解 無‧
|
dllee
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
把 Sleep(100);
改成 Application->ProcessMessages() 宣告一個表單變數如 bool bAbort; 在 for loop 之前設定 bAbort = false; 在 for loop 內加上 if(bAbort) break; 在表單中加一個按鈕, 按下時設定 bAbort=true; 即可在 for loop 時中止它。 另外建議,ImgPic[i] = new TImage(Application); 移到表單建構元作, 不然,每次跑一次 for loop 就 new 一次,會造成 Memory Leakage
------
http://www.ViewMove.com |
licheer
一般會員 ![]() ![]() 發表:23 回覆:20 積分:8 註冊:2007-08-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |