[Source] ListBoxViewEx (Beta)

Iniciado por BlackZeroX, 7 Octubre 2009, 21:45 PM

0 Miembros y 1 Visitante están viendo este tema.

BlackZeroX

Antes que nada:

Es el ListboxEx de Leandro Ascierto pero con muchas modificaciones, entre ellas la Adiciòn de un ListView.

Post Original ListViewEx Leandro Ascierto

Atras cosas a Notar:

Elimine los picture,VScroll y Redibuje TODO en un HDC de Memoria, para la manipulaciòn con el ScrollGhost.

Actualmente lo estoy Optimisando ( Este es el Codigo Fuente Contiene Codigo Basura y Repetitivo )

Las mejoras ya listas son:

* Ordenamiento Mejorado (Elimine el Modo de Ordenamiento de LeandroAscierto)
* Ordenamiento por Columnas
* Multiselecciòn con tecla Shift
* Obtenciòn de Rango de Selecciòn
* Elimine el error de que cuando se estaba seleccionado un item o fila INferior ese subia mientras el Item o fila a eliminar era de abajo (o Superior con respecto a la matriz)



ELIMINE el VScroll y puse un sistema que denomino ScrollGhost, es decir:

El Scroll Ghost tiene el funcionamiento de un Slider la velocidad de recorrido de los items o fila depende de la posiciòn del mouse en el ScrollGhost. Los ScrollGhost se encuentran en el area superior, Inferior y en los extremos Izquierda y Derecha

Para los ScrollGhost Superior e Inferiores la velocidad se define  asi

VelocidadMinimo-------------------------------------------------VelocidadMaxima

Para los ScrollGhost Laterales la Minima es en area superior y la Maxima en el Ala Inferior

Dichos ScrollGhost los stoy Arreglando y por obvias razones cambiare el diseño de estos por unos mas vistosos (Actualmente son solo pruebas)

Dichos ScrollGhost los stoy Arreglando y por abvias razones cambiare el diseño de estos por unos mas vistosos y màs manejables (Actualmente son solo pruebas)

Los Items Actualmente NO ESTAN POR REGIONES por lo tanto no se pueden realizar cambios entre ellos (Esta version esta 100% enfocada a ListBoxEx de Leandro Ascierto por lo cual tengo que Rehacer las filas en Regiones para realizar cambios entre items con el Mouse).




Bueno Aqui les dejo el SourceCode (Reitero es Betay contiene CodigoBasura y Cosas Repetidas.)

http://infrangelux.sytes.net/Descargas/Programas/ListBoxViewEx.zip

P.D.: Espero que LeandroAscierto no se moleste por esta modificaciòn tan masima jojojo.

Dulces Lunas
The Dark Shadow is my passion.

BlackZeroX

#1
Se me olvidaba los ScrollGhost se activan cuando se da click en dichas regiones (Dichas regiones no superan los 20 Pixeles de Altura en los superiores y 20 pixeles de Anchura en los Laterales)

*.- Hay un error con el tamaño de letra en el Modo ListView (Esto lo corrigire con las regiones que estoy implementando.)

*.- Quite la limitaciòn de 32267 Items, filas, Filas (Por obvias razones gastara mas memoria)

Dulces Lunas!¡.
The Dark Shadow is my passion.

agus0

Bien Black Ya terminaste la beta !

Esta Bueno
;-) ;-) ;-) ;-) ;-) ;-) ;-)

LeandroA

muy bien che, no molestar para nada al contrario para eso es codigo abierto. lo estuve porbando y hay un par de cositas que vi a la ligera, en algunos casos los items se ensiman un poco.

te recomiendo no usar TextHeight o TextWidth ya que si no trabajas con el hdc del UC te es combeniente utilizar DrawText  con los flag  DT_SINGLELINE or DT_CALCRECT

para dibujar un texto con los puntos al final no uses la funcion DelimitarTexto podes utilizar  DT_VCENTER Or DT_SINGLELINE Or DT_WORD_ELLIPSIS

por parte de la selecion el problema es que solo podes utilizar en forma secuencial y no el 1 y el 5 por ejemplo. yo creo que lo mejor seria ponerle al tItem Selected                       As Boolean
entonces cuando estas con la tecla shift y vas haciendo click vas poniendo Selected =true y a la hora de dibujar estos los pintas, pero a la vez tambien creas un array (buffer) de lo que estan selecionados esto para acelerar a la hora de consultar cuales lo estan o para deselecionarlos sin tener que recorrer todo el array de los item en el list.

y en cuanto al scroll estaria bueno que sea un poco visible (para saber que se puede deslizar hacia alguna parte.)

bueno espero que le sigas dando con ganas va a quedar muy bueno.

Saludos.




BlackZeroX

Claro Leandro pero como dije esta es una version algo esbosa, muy sucia y si se ve NADA organisada, ya que trabaja sin regiones, por lo tanto algunas cosas son de un codigo algo tedioso asi que solo libere esta version la otra la trabajo por regiones (Zonas donde se debe pintar sin afectar a otras o interactuar con ellas).

En cuando al Scroll estoy trabajando en este para que cuando no sean operativos los mismo se opaquen o salgan a relucir en lugar de que se oculten.

gracias por el dato del Texto ya me andaba dando cuenta de eso.

Dulces Lunas.!¡.
The Dark Shadow is my passion.