カスタムリストボックスのドラッグ&ドロップのサポート

ユニットユニット2; 

インターフェイスは

使用しています
  クラス、コントロール、StdCtrlsを。

入力
  TListBox2 = クラス(TCustomListBox)
   保護された
    手順 DragOver DragOverは(出典:TObjectを; X:整数; Y:整数;状態:TDragState; varは受け入れ:ブール値); 上書きします手順 DBLCLICK; 上書きしますパブリック
    コンストラクタが 作成(AOwner:TComponentのを)。上書きします手順ドラッグアンドドロップ(出典:TObjectを; X:整数; Y:整数); 上書きしますエンド; 

実装

{TListBox2 } 

コンストラクタ TListBox2。作成(AOwner:TComponentのを)。
始める
  継承されました
  DragMode: = dmAutomaticの。
エンド; 

手順TListBox2.DblClick;
始める
  継承されました
  Items.Delete(ItemIndex)。
エンド; 

手順TListBox2.DragDrop(出典:TObjectを; X、Y:整数);
始める
  継承されました
  Items.Exchange(ItemIndex、ItemAtPos(点(X、Y)、TRUE))。
エンド; 

手順 TListBox2.DragOver(出典:TObjectを; X、Y:整数;状態:TDragState; VAR受け入れ:ブール);
始める
  継承されました
  受け入れ: = 真;
エンド; 

終わり
 



手順TForm1.btn1Click(送信者:TObjectを);
始め
   TListBox2。作成(自己)を
   行い 始める
    親: = 自己を。
    合わせ: = alLeft。
    Items.CommaText: = ' A、B、C、D、E、F、G ' エンド;
エンド ;

おすすめ

転載: www.cnblogs.com/tobetterlife/p/12169460.html