Page 1 of 1

Quitar elementos de un ListView

Posted: Sat Jun 06, 2009 3:53 am
by Gaston
Hola amigos, que bueno que siempre hay alguien que sabe mas que uno... :D
La pregunta es... como saco un elemento de un LISTVIEW? hasta ahora pude agregar elementos haciendo click en el botón "AGREGAR" ahora como los quito? No he encontrado ningún método que haga eso...

Gracias.
Slds.

Gastón

Re: Quitar elementos de un ListView

Posted: Wed Jun 10, 2009 4:08 am
by Gaston
Bueno, todavía no se se como quitar un elemento de un listview.. me cuesta creer que nadie haya usado jamas un listview.. en los ejemplos solo agrega el elemento y en la clase no hay ningún método tipo "REMOVE ITEM"

Gracias.
Slds.

Re: Quitar elementos de un ListView

Posted: Wed Jun 10, 2009 9:05 am
by Daniel Garcia-Gil
Saludos Gaston

Este punto le he estado buscando la solucion (espero encontrarla)... Pronto tendre noticias del mismo

Gracias...

Re: Quitar elementos de un ListView

Posted: Wed Jun 10, 2009 1:06 pm
by RenOmaS
puedes agregar esta linea

Code: Select all

    METHOD DeleteItem( nItem )                                          INLINE SendMessage( ::hWnd, LVM_DELETEITEM, nItem, 0 )
  // nItem comienza con 0
 
y tambien tienes que evaluar la notificacion de que se proceso bien el mensaje
esto es... agrega en el Method Notify

Code: Select all

....
Local nItem
...
     Case nCode == LVN_DELETEITEM
             //Una vez que windows te indico que ya proceso el msg
             //aqui tienes que procesar dependiendo de como armastes el Listview, para fivewin creo que tiene um Data aPrompts.
             //entonces podria ser
             nItem := GetNMListViewItem( nPtrNMHDR ) + 1
            ADel( ::aPrompts, nItem )
...
 

Re: Quitar elementos de un ListView

Posted: Wed Jun 10, 2009 11:48 pm
by Daniel Garcia-Gil
Gracias RenOmaS...

Hare lo posible por sugerir _ para el proximo build...

solo haria un par de cosas diferentes

Code: Select all

METHOD DeleteItem( nItem ) INLINE SendMessage( ::hWnd, LVM_DELETEITEM, nItem-1, 0 )
y agregar en la notificacion

Code: Select all

ASize( ::aPrompts, len( ::aPrompts ) -1 )

Re: Quitar elementos de un ListView

Posted: Fri Jun 12, 2009 5:12 pm
by RenOmaS
En el method

Code: Select all

   METHOD InsertItem( nImageIndex, cText ) INLINE ;
             LVInsertItem( ::hWnd, nImageIndex, cText )
 
tendria que quedar asi

Code: Select all

   METHOD InsertItem( nImageIndex, cText ) INLINE ;
             AAdd( ::aPromtps, cText ), ;
             LVInsertItem( ::hWnd, nImageIndex, cText )

 
Aunque, pienso yo, que seria mejor trabajar la manera de insertar columnas.

Re: Quitar elementos de un ListView

Posted: Sun Jun 14, 2009 8:08 am
by Gaston
Muchas gracias!!! Voy a probar a ver que sale :)