TListbox Metinleri Hareket Ettirmek

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
RamazanG
Üye
Mesajlar: 73
Kayıt: 16 Tem 2010 03:38

TListbox Metinleri Hareket Ettirmek

Mesaj gönderen RamazanG »

Makale: Zarko Gajic.
Çeviri: Ramazan Gülbahar.

Resim

1. Forma bir adet TListBox ekleyin.
2. Items özelliğinden metinler girin
3. ListBox1’in DragMode’unu dmAutomatic olarak ayarlayın.
4. LisBox için Handle MouseDown, DragOver ve DragDrop olayları

Kod: Tümünü seç

var 
    StartingPoint : TPoint;
 
 implementation
 
 ...
 
 procedure TForm1.FormCreate(Sender: TObject) ;
 begin
    ListBox1.DragMode := dmAutomatic;
 end;
 
 procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer) ;
 var
    DropPosition, StartPosition: Integer;
    DropPoint: TPoint;
 begin
    DropPoint.X := X;
    DropPoint.Y := Y;
    with Source as TListBox do
    begin
      StartPosition := ItemAtPos(StartingPoint,True) ;
      DropPosition := ItemAtPos(DropPoint,True) ;
 
      Items.Move(StartPosition, DropPosition) ;
    end;
 end;
 
 procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean) ;
 begin
    Accept := Source = ListBox1;
 end;
 
 procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) ;
 begin
    StartingPoint.X := X;
    StartingPoint.Y := Y;
 end; 

Cevapla