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

Button要如何做拖曳 ?

尚未結案
JPTseng
一般會員


發表:14
回覆:22
積分:7
註冊:2004-10-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-03 22:00:26 IP:140.124.xxx.xxx 未訂閱
我試了 DragDrop and DragOver   都沒有用 不知道要用哪種event去做~~~ 還是我裡面的Code寫的不對 ? 我是用 Accept=true; Button1->Left=X; Button1->Top=Y;    謝謝 
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-03 22:32:47 IP:61.62.xxx.xxx 未訂閱
把Button1放在Form1上, 在放一個Panel1, 來接收拖放Button1.    __fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
  // 把DragMode設為自動, 讓系統幫你處理Drag-Drop
  Button1->DragMode = dmAutomatic;
}    // 設定Panel1的 OnDragOver 事件
void __fastcall TForm1::Panel1DragOver(TObject *Sender, TObject *Source,
      int X, int Y, TDragState State, bool &Accept)
{
  AnsiString szBuf = Source->ClassName();
  // 取得拖放的Class Name, 檢查是否是Button
  if (szBuf == "TButton")
  {
    // 檢查是否是Button1, 如果是Button1才讓它可拖放(Accept = TRUE)
    if (((TButton*)Source)->Name == "Button1")
      Accept = TRUE;
  }
}    // 設定Panel1的 OnDragDrop 事件 
void __fastcall TForm1::Panel1DragDrop(TObject *Sender, TObject *Source,
      int X, int Y)
{
  AnsiString szBuf = Source->ClassName();
  if (szBuf == "TButton")
  {
    // 檢查是否是Button1, 如果是, 把Button1放到Panel1裡
    if (((TButton*)Source)->Name == "Button1")
    {
      ((TButton*)Source)->Parent = Panel1;
      ((TButton*)Source)->Left = X;
      ((TButton*)Source)->Top = Y;
    }
  }
}    
JPTseng
一般會員


發表:14
回覆:22
積分:7
註冊:2004-10-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-04 10:32:24 IP:140.124.xxx.xxx 未訂閱
Zard......你果然是強者ㄚ~~~ 一句話~~~強~~~ by the way.....3Q 
系統時間:2024-06-26 21:50:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!