Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Arrastrar items de un listBox a otro

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Arrastrar items de un listBox a otro Responder citando

En vistas a mejorar el funcionamiento de una aplicación quisiera que el usuario pudiese arrastrar items de un listbox a otro. Actualmente paso los items de un lisbox a otro a través de botones pero si además pudiese hacerlo arrastrando con el mouse mejor que mejor pero ésto último no sé muy bien cómo se hace, se que hay que jugar un poco con las propiedades dragkind, dragMode, OnDragOver, y alguna más pero no me aclaro.
Agradecería una ayudita. Saludos Wink .
_________________
¡ADELANTE CON ESTE SUPER FORO!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Esto funciona para dos Listbox y traspasando de a un elemento.., espero te sirva, debes poner la propiedad DragMode de ambos ListBox en dmAutomatic, suerte!


Código:
void __fastcall TForm1::ListBox1DragDrop(TObject *Sender, TObject *Source,
      int X, int Y)
{
  if (Sender->ClassNameIs("TListBox") && Source->ClassNameIs("TListBox"))
  {
    TListBox *DestList = (TListBox *)Sender;
    DestList->Items->Add( ListBox2->Items->Strings[ListBox2->ItemIndex]);
  }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::ListBox1DragOver(TObject *Sender, TObject *Source,
      int X, int Y, TDragState State, bool &Accept)
{
Accept = Source->ClassNameIs("TListBox");
}

_________________
"Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez

Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mensaje    Asunto: Responder citando

agregue un par de lineas, como me fue de utlidad tu codigo a otras personas tambien le sera... Gracias

adicione par lineas a tu codigo para evitar un error cuando tratan de arrastrar si antes seleccionar.

Código:
 [b]if(ListBox1->ItemIndex > 0 ){[/b]
  if (Sender->ClassNameIs("TListBox") && Source->ClassNameIs("TListBox"))
  {
    TListBox *DestList = (TListBox *)Sender;
    DestList->Items->Add( ListBox1->Items->Strings[ListBox1->ItemIndex]);
  [b]  ListBox1->ItemIndex=-1;[/b]
  }
[b] }[/b]

_________________
><(((((º> From °l||l° §ÂN ÅNЮ€$ i§Lã$ °l||l°
_____________________
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.