Autor Tema: [Regalo de navidad] Perfeccionando el ucListView :)  (Leído 5063 veces)

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

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
[Regalo de navidad] Perfeccionando el ucListView :)
« en: Diciembre 24, 2010, 01:22:30 pm »
Bueeeenas!

Esta es una investigacion (?) que he estado haciendo por tiempo leyendo y releyendo por la web, msdn, sdk, y proyectos de Leandro y bueno, todo eso lo fui juntando al ucListView y este es el resultado u.u



Agregados
  • ProgressBar:
    La clase de leandro incluida en el mismo control. Se llama a los mismos mienbros de el modulo de Leandro solo que con el prefijo Progress
    • ProgressColumn - Columna del ProgressBar, tienen que tener todos las filas numeros, para desactivarlo poner este campo a -1
    • ProgressBackColor
    • ProgressBorderColor
    • ProgressFillColor
    • ProgressNoEraseBackGroud - A la hora de cambiar los valores alternar este campo (ver ejemplo)
    • ProgressTextColor
    • ProgressTextVisible
    • ProgressUseWindowsTheme

  • Grupos:
    Ver por grupos (winXP) y grupos colapsables con o sin subtitulo y pie (winVista en adelante)
    • GroupsEnable: Habilita la vista de grupos. Si un grupo no tiene items asignados, este no se mostrara. Y los items sin grupo tampoco se muestran.
    • GroupAdd: Agrega un grupo
    • GroupClear: Borra los grupos
    • GroupCollapsed: Obtiene o pone si el grupo esta completo o solo se ve su cabecera
    • GroupCollapsible: Obtiene o pone si los grupos se pueden colapsar
    • GroupCount: Contador (NOTA: en xp a alguien se le olvido poner el GroupCount asi que se usa una variable contador interna u.u)
    • GroupFooterAlign y GroupHeaderAlign: Alineacion del texto de pie y Cabecera
    • GroupFooterText y GroupHeaderText: Texto de pie y cabecera
    • GroupRemove: Elimina un grupo (Los items siguen perteneciendo a ese numero de grupo)

  • Imagen de Fondo con/sin estilo XP:
    Imagen de fondo tipo mosaico o en la esquina inferior izquierda definido segun el segundo parametro de BackgroundPictureSet (Nota: El archivo a poner como imagen de fondo debe ser BMP)

  • Estilo de explorador de windows: (win 7) (No salio en la foto)
    Se puede poner que el control se vea tal cual como se ven el explorador de windows 7. Nota: si lo ponen y lo quitan no queda tan bien xD. Se asigna con la propiedad ExplorerTheme

  • Seleccionar Todo, Deseleccionar Todo, TopIndex y PageCount: (que tampoco salio en la foto xD)
    Metodos SelectAll y DeSelectAll, propiedades TopIndex (primer item visible) y PageCount (cuantos items se ven) agregados

:) todavia esta en version Beta, y tiene estos ... problemitas u.u

  • Grupos no compatibles con ProgressBar
  • Una ves puesto el fondo al estilo XP (imagen esquina inferior derecha) no se puede sacar. Pero si se puede poner fondo mosaico sin que la otra imagen se vea
  • Problema de pintado cuando los grupos se colapsan (achican) y desaparece el scrollBar, el uc queda todo gris hasta que se pasa el mouse encima o.O
  • Si se cambia de tamaño bruscamente (jugando con el tamaño usando el mouse XD) el texto de los items se puede ver algo raro o.O

Bueno, el regalo link de descarga para que lo prueben! :)
http://www.mediafire.com/?8p75236dbb6nga9

Ahora si, Feliz Navidad!!!! :)
« última modificación: Diciembre 24, 2010, 01:24:17 pm por raul338 »

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:[Regalo de navidad] Perfeccionando el ucListView :)
« Respuesta #1 en: Diciembre 24, 2010, 01:32:49 pm »
Bravaso!!! muchas gracias.
Me encuentras en YAcosta.com

VanHan

  • Bytes
  • *
  • Mensajes: 23
  • Reputación: +3/-3
  • .:: [ vHn ] ::.
    • Ver Perfil
    • [VanHan WebSite]
Re:[Regalo de navidad] Perfeccionando el ucListView :)
« Respuesta #2 en: Diciembre 25, 2010, 01:48:48 am »
Muy bueno, me gusto!! FELICIDADES PARA TODOS!!!!
.:: I'm GeeK ::.

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:[Regalo de navidad] Perfeccionando el ucListView :)
« Respuesta #3 en: Diciembre 27, 2010, 06:59:43 am »
Muy bueno Raul, no te respondi antes porque queria verlo en detalles un poco. por lo de la imagen de fondo tampoco supe como quitarla, hay un par de cositas mas para agregarle, lo que veo algo importante que falta es que devuelva index del item selecionado.
esta propiedad tambien esta buena  LVM_SETSELECTEDCOLUMN



raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:[Regalo de navidad] Perfeccionando el ucListView :)
« Respuesta #4 en: Diciembre 27, 2010, 04:48:35 pm »
LVM_SETSELECTEDCOLUMN es facil de agregar (esta listo para la proxima entrega xD)

lo que veo algo importante que falta es que devuelva index del item selecionado

¿¿?? No entendi eso. No hay un evento cuando se selecciona un item? SI es cuando se selecciona un grupo, pues solo se dispara cuando se expande o contrae, ya que no hay info sobre las notificaciones en el msdn (fijate que le puse de nombre LVHN_DONTKNOW (que descriptivo xD) porque empeze a tirar fruta y ver que flags cambiaban :P

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:[Regalo de navidad] Perfeccionando el ucListView :)
« Respuesta #5 en: Diciembre 27, 2010, 06:38:26 pm »
yo cuando lo nesesite hice esta función, que retorna el item seleciónado.

Código: (vb) [Seleccionar]
Public Function GetSelectedItem() As Long
    Dim lFlags As Long
   
    If m_hListView Then
        If Me.MultiSelect Then
            GetSelectedItem = SendMessage(m_hListView, LVM_GETSELECTIONMARK, 0&, 0&)
        Else
            lFlags = LVNI_SELECTED
            If GetFocus() = m_hListView Then lFlags = lFlags Or LVNI_FOCUSED
   
            GetSelectedItem = SendMessage(m_hListView, LVM_GETNEXTITEM, &HFFFF, ByVal lFlags)
        End If
    End If
End Function
« última modificación: Enero 14, 2011, 10:27:45 pm por xkiz »

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:[Regalo de navidad] Perfeccionando el ucListView :)
« Respuesta #6 en: Enero 14, 2011, 07:56:20 pm »
Che preguntita leandro, que tenes la funcion GetFocus() ?

Supongo que devuelve el handle de la ventana activa :| pero nose

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:[Regalo de navidad] Perfeccionando el ucListView :)
« Respuesta #7 en: Enero 14, 2011, 08:55:53 pm »
hola Raul es un api

Private Declare Function GetFocus Lib "user32.dll" () As Long

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:[Regalo de navidad] Perfeccionando el ucListView :)
« Respuesta #8 en: Julio 14, 2012, 06:32:43 am »
Perdón por revivir el hilo, pero podrías actualizar el link de descarga Raul, no la encuentro en el pc o no se si la que tengo era la ultima versión.

Saludos.

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:[Regalo de navidad] Perfeccionando el ucListView :)
« Respuesta #9 en: Julio 14, 2012, 05:33:24 pm »
Las ultimas versiones que libere son estas

http://www.mediafire.com/download.php?43ou0pb850y1pnk

y la beta (ya ni recuerdo que tiene) http://www.mediafire.com/download.php?oqgovurkkaka0w1

Pero tienen un problema si es que no necesitan el TLB, solo funcionan en Windows 7 ... en el proyecto que tengo ahora le volvi a poner para que use el TLB y se pueda usar en cualquier windows, pero no estoy seguro de que esten bien todas las propiedades :P