滑鼠click的問題? |
尚未結案
|
enu
中階會員 發表:36 回覆:93 積分:55 註冊:2003-10-22 發送簡訊給我 |
請教各位先進,小弟控制image1移動,當滑鼠click在image1上頭時,image1才移動到下一步,不知道下列程式應如何修改?因為它只動一步後就不再動了
懇請賜教!感恩! < class="code">
int path [15][2] = {{11, 104}, {74, 94}, {135, 70}, {181, 83}, {212, 103}, {249, 131}, {287, 160}, {311, 189}, {317, 240}, {316, 273}, {366, 301}, {420, 329}, {467, 353}, {511, 362}, {520, 362}}; void __fastcall TForm1::Image1Click(TObject *Sender)
{
for(int i=0;i<15;i )
{
Form1->Image1->Left=path[i][0];
Form1->Image1->Top =path[i][1];
}
}
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 請教各位先進,小弟控制image1移動,當滑鼠click在image1上頭時,image1才移動到下一步,不知道下列程式應如何修改?因為它只動一步後就不再動了 懇請賜教!感恩! < class="code"> int path [15][2] = {{11, 104}, {74, 94}, {135, 70}, {181, 83}, {212, 103}, {249, 131}, {287, 160}, {311, 189}, {317, 240}, {316, 273}, {366, 301}, {420, 329}, {467, 353}, {511, 362}, {520, 362}}; void __fastcall TForm1::Image1Click(TObject *Sender) { for(int i=0;i<15;i++) { Form1->Image1->Left=path[i][0]; Form1->Image1->Top =path[i][1]; } } enu 你好: (1)如果想讓 Image 被 Click 之後移動經過所有的點,那要 Delay 一點時間 才看得到全部的過程,例如: void __fastcall TForm1::Image1Click(TObject *Sender) { for(int i=0;i<15;i++) { Image1->Left=path[i][0]; Image1->Top =path[i][1]; Sleep(500); Application->ProcessMessages(); } } (2)如果想讓 Image 被 Click 之後,只移動一步的話,也可以利用全域變數來 達到目的,例如: int gi=0; void __fastcall TForm1::Image1Click(TObject *Sender) { Image1->Left=path[gi][0]; Image1->Top =path[gi][1]; gi++; if(gi>=15) gi=0; } (3)另外,如果你的 Image 貼在 Form1 上的話,最好加入以下這一行程式碼, 這樣 Image 在移動的時候,就不會閃爍了 DoubleBuffered=true; (4)請再依照自己的需求,自行修改-- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2004/09/01 13:41:22
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
enu
中階會員 發表:36 回覆:93 積分:55 註冊:2003-10-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |