線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:777
推到 Plurk!
推到 Facebook!

計算滑鼠移動水平垂直座標

答題得分者是:tech_state
renth555
一般會員


發表:32
回覆:65
積分:19
註冊:2003-02-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-01 21:03:37 IP:61.56.xxx.xxx 未訂閱
--------------------------------------------------------------------- void __fastcall TForm1::MyMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { if(Button==mbLeft) //當我滑鼠按右鍵的時候為真 { IX=X; IY=Y; } } --------------------------------------------------------------------- //計算滑鼠移動水平垂直座標 void __fastcall TForm1::MyMouseMove(TObject *Sender, TShiftState Shift,int X, int Y) { img1->Left= img1->Left (X-IX); img1->Top= img1->Top (Y-IX); } --------------------------------------------------------------------- 各位前輩為什麼要寫這樣 img1->Left= img1->Left (X-IX); 為什麼不直接這樣寫呢 img1->Left= X-IX; 小弟不是很了解為什麼要這樣寫
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-01 22:13:58 IP:203.204.xxx.xxx 未訂閱
renth555, 您好 針對您的問題,我舉個例子給您參考看看。  
 
假設img1->Left=10;
X=5;
IX=3;
img1->Left= img1->Left (X-IX);===>img1->Left=12;
img1->Left= X-IX;===>img1->Left=2;
 
由以上的例子,可以推斷出 如果您是要由原始起點算起,則選擇第二個算式。 倘若您是要由目前的點算起,則選擇第一個算式。 不知這樣您了解嗎? ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
Justmade
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-01 22:23:30 IP:218.16.xxx.xxx 未訂閱
X - IX 只是代表 Mouse 移動了多少 若你想移動元件還要加上本來該原件在的位置, 就是img1->Left    喔,按了回答跑了去答別題,原來 Tech_State 版主已精楚答了 發表人 -
renth555
一般會員


發表:32
回覆:65
積分:19
註冊:2003-02-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-01 23:43:33 IP:61.56.xxx.xxx 未訂閱
由2位前輩詳細解說小弟已完全了解他的意思 目前是初學者的我有很多語法上意思 都不是很了解以後還希望前輩門多多教導 感激!
系統時間:2024-05-19 10:38:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!