Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: raul338 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
(http://raul338.iespana.es/ScreenshotucListViewExBeta.jpg)
Agregados
- ProgressBar:
La clase de leandro incluida en el mismo control. Se llama a los mismos mienbros de el modulo de Leandro (http://www.leandroascierto.com.ar/categoria/M%C3%B3dulos/articulo/ListViewProgress.php) 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 (http://www.mediafire.com/?8p75236dbb6nga9)
Ahora si, Feliz Navidad!!!! :)
-
Bravaso!!! muchas gracias.
-
Muy bueno, me gusto!! FELICIDADES PARA TODOS!!!!
-
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
-
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
-
yo cuando lo nesesite hice esta función, que retorna el item seleciónado.
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
-
Che preguntita leandro, que tenes la funcion GetFocus() ?
Supongo que devuelve el handle de la ventana activa :| pero nose
-
hola Raul es un api
Private Declare Function GetFocus Lib "user32.dll" () As Long
-
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.
-
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