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

滑鼠拖曳的問題...

尚未結案
kaka_0108
一般會員


發表:1
回覆:0
積分:0
註冊:2004-04-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-19 20:43:11 IP:218.175.xxx.xxx 未訂閱
想請問一下如何用滑鼠拖曳圖片,我寫了程式雖然會動,但是沒辦法隨著滑鼠一起移動,想問問大家有沒有更好的辦法! 以下是我的程式碼: void __fastcall TForm1::Image1DragDrop(TObject *Sender, TObject *Source, int X, int Y) { TImage *buf=(TImage *)Source; buf->Left=X; buf->Top=Y; } //------------------------------------------------------------------- void __fastcall TForm1::Image1DragOver(TObject *Sender, TObject *Source, int X, int Y, TDragState State, bool &Accept) { Accept=true; } 發表人 - taishyang 於 2004/04/19 20:54:48
lue8256079
一般會員


發表:1
回覆:2
積分:0
註冊:2004-01-29

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-21 23:35:53 IP:203.67.xxx.xxx 未訂閱
試一下預被drag 的dragmode設為dmAutomatic
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-23 12:40:47 IP:140.112.xxx.xxx 未訂閱
引言: 想請問一下如何用滑鼠拖曳圖片,我寫了程式雖然會動,但是沒辦法隨著滑鼠一起移動,想問問大家有沒有更好的辦法! 以下是我的程式碼: 發表人 - taishyang 於 2004/04/19 20:54:48
試著在MouseMove時加入 buf->Left=X; buf->Top=Y; 然後MouseDown要設定一下 讓圖片被按下時才移動 不確定可以work,先試試吧~~
gilly
一般會員


發表:6
回覆:7
積分:2
註冊:2003-12-29

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-25 12:59:00 IP:210.201.xxx.xxx 未訂閱
void __fastcall TForm1::Image1DragOver(TObject *Sender, TObject *Source, int X, int Y, TDragState State, bool &Accept) { Accept=true; ▲ buf->Left=X; ▲ buf->Top=Y; } OnDragOver:拖動經過時激發.... ▲ buf->Left=X; ▲ buf->Top=Y; 看一下...這兩行移位後有沒有幫助... 對了...可以參考http://delphi.ktop.com.tw/topic.php?topic_id=21808
anpino
版主


發表:31
回覆:477
積分:231
註冊:2003-01-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-25 14:12:36 IP:211.23.xxx.xxx 未訂閱
kaka_0108您好:    請參考: 【問題】拖曳的問題  http://delphi.ktop.com.tw/topic.php?topic_id=49437    並請多多利用本站搜尋功能喔~~ ------------------------------- 數學系是內功很強(邏輯/分析) 資工系是招式很多(程式技巧) 就像令狐沖
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-06-27 23:47:06 IP:211.76.xxx.xxx 未訂閱
kaka_0108您好:    如果您只是要把Image抓著移來移去的話,那底下的程式碼可以供您參考。    
 
//---------------------------------------------------------------------------
int   prevX, prevY;
bool  drawing=false;    void __fastcall TForm1::Image1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
   drawing = true;
   prevX = X;
   prevY = Y;
}
//---------------------------------------------------------------------------    void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
  if ( drawing )
    { int dx = X - prevX;
      int dy = Y - prevY;
      Image1->Top   = dy;
      Image1->Left  = dx;
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
  drawing = false;        
}
//---------------------------------------------------------------------------    
RichTop 敬上
系統時間:2024-04-19 22:21:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!