Button要如何做拖曳 ? |
尚未結案
|
JPTseng
一般會員 發表:14 回覆:22 積分:7 註冊:2004-10-27 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
把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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |