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

請問關於MouseMove屬性的問題

答題得分者是:Windyboy
xdio2
一般會員


發表:60
回覆:29
積分:17
註冊:2004-07-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-13 20:28:17 IP:61.59.xxx.xxx 未訂閱
假使今天程式中我要表現滑鼠移動一個圖片Image1 若我已經在MouseDown中設定,px=X,py=Y (記住按下滑鼠鈕時的座標) 我又在MouseMove屬性中,寫 (1) Image1->Left=Image1->Left (X-px); Image1->Top= Image1->Top (Y-py); 跟 (2) Image1->Left= X; Image1->Top= Y; 差在哪呢 怎麼(1)(2)的寫法讓我跑出的結果怪怪的 我覺得應該都是一樣意思阿 請大大指教一下,多謝~ 發表人 - taishyang 於 2004/10/13 23:30:47
Windyboy
版主


發表:7
回覆:119
積分:210
註冊:2002-11-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-13 21:29:17 IP:219.84.xxx.xxx 未訂閱
Hi xdio2:    參考看看.^^    
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  if(Shift.Contains(ssLeft))
  {
    px = X;
    py = Y;
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
  if(Shift.Contains(ssLeft))
  {
    Image1->Left=Image1->Left (X-px);
    Image1->Top= Image1->Top (Y-py);
  }
}
//---------------------------------------------------------------------------    
-------------------------- ~天下本無事 庸人自擾之~
Windyboy
版主


發表:7
回覆:119
積分:210
註冊:2002-11-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-13 21:37:45 IP:219.84.xxx.xxx 未訂閱
補充一下, 使用你(2)的方法, 會覺得怪怪的, 應該是指說在MouseMove中記錄的X, Y座標 是Mouse在Image1中的座標, 所以如果你把Image1的位置改成MouseMove中的X, Y 就不正確, 如此一來圖就會亂亂跑, 例如你的Mouse現在在圖中的(10, 10), 而你的Image1在FORM中的(100, 100) Mouse移動到(11, 11)時, 圖片應該移動到的位置應該是Form上的(101, 101), 而不是Form上的(11, 11), 所以正確的說, 不只是怪怪的, 而是根本就不對啊..呵呵 -------------------------- ~天下本無事 庸人自擾之~
系統時間:2024-05-03 8:10:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!