Announcement

Collapse
No announcement yet.

drag & drop innerhalb einer listbox

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • drag & drop innerhalb einer listbox

    tagchen,

    ich möchte bei meinem tastenhelfer den anwender die möglichkeit geben die anordnung der einträge zu verändern. dies hätte ich gerne per drag & drop realisiert.
    wie drag & drop von einer komponente zu anderen geht weiß ich, aber wie geht es innerhalb der selben komponente!!!

    wer weißt rat????

    mfg

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Hallo Markus,

    das ist ein Beispiel wie man innerhalb einer Listbox die Items verschiebt per Drag & Drop.

    Cesario

    unit Main;

    interface

    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls;

    type
    TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    procedure ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
    State: TDragState; var Accept: Boolean);
    procedure ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    private
    { Private-Deklarationen }
    public
    { Public-Deklarationen }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.DFM}

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    ListBox1.DragMode := dmAutomatic;
    end;

    procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
    State: TDragState; var Accept: Boolean);
    begin
    Accept := Source = Listbox1;
    end;

    procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
    VAR
    aPoint : tPoint;
    Index : Integer;
    begin
    APoint.X := X;
    APoint.Y := Y;
    Index := ListBox1.ItemAtPos(APoint, True);
    IF Index <> -1 THEN
    Begin
    ListBox1.items.Move ( Listbox1.itemIndex,Index );
    ListBox1.ItemIndex := Index;
    End;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Close;
    end;

    end

    Comment


    • #3
      habe dir 'ne mail geschickt!!

      mfg
      marku
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment

      Working...
      X