Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Arrastrar de una lista a un campo de texto (https://www.clubdelphi.com/foros/showthread.php?t=71678)

cincosoft 03-01-2011 14:18:45

Arrastrar de una lista a un campo de texto
 
Hola,

Quería saber como puedo arrastrar con el ratón un item de una listbox a un campo de texto.

Muchas gracias.

ecfisa 03-01-2011 16:54:57

Hola cincosoft.

Poné un TListBox y un control capaz de recibir texto. En el ejemplo voy a usar un TMemo.

Desde el Object Inspector pone la propiedad DragMode del TListBox en dmAutomatic.

Luego asigna este código al evento OnMouseDown del TListBox:
Código Delphi [-]
procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  ListBox1.BeginDrag(True);
end;

Y estos eventos al TMemo:
Código Delphi [-]
procedure TForm1.Memo1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept:= Source is TListBox;
end;

procedure TForm1.Memo1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  Memo1.Lines.Add(TListBox(Source).Items[TListBox(Source).ItemIndex]);
end;

Con poca dificultad podés cambiar el Memo por un Edit, etc.

Saludos.

cincosoft 03-01-2011 20:08:46

Muchas gracias


La franja horaria es GMT +2. Ahora son las 01:21:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi