松鼠的博客

导航

TListView拖动

//---------------------------------------------------------------------------  
   
  void   __fastcall   TForm1::ListView1DragDrop(TObject   *Sender,   TObject   *Source,  
              int   X,   int   Y)  
  {  
            TListItem   *pItem,*sourceitem;  
            TStream   *pstream;  
            AnsiString   *str;  
            if(Sender!=Source)    
            if(((TListView   *)Source)->SelCount==1)  
      {  

            ((TListView*)Source)->Items->BeginUpdate();   
            pItem=((TListView   *)Sender)->Items->Add();  
            sourceitem=((TListView   *)Source)->Selected;   
            pItem->Assign(sourceitem);
            ((TListView   *)Source)->Selected->Delete();  
            ((TListView*)Source)->Items->EndUpdate();
      }  
   
  }  
  //---------------------------------------------------------------------------  
  void   __fastcall   TForm1::ListView1StartDrag(TObject   *Sender,  
              TDragObject   *&DragObject)  
  {  
          CurIndex=((TListView   *)Sender)->ItemIndex;  
  }  
   
  void   __fastcall   TForm1::ListView1DragOver(TObject   *Sender,   TObject   *Source,  
              int   X,   int   Y,   TDragState   State,   bool   &Accept)  
  {  
      Accept   =   Source->ClassNameIs("TListView")&&Sender->ClassNameIs("TListView");    
  }  
  copy的代码,另外你要设置drag相关的属性

posted on 2008-10-12 09:54  Xproer-松鼠  阅读(347)  评论(2)    收藏  举报