Autor Tema: Facebook_Photo_Uploader - leandro  (Leído 2527 veces)

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

k_arlytos

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +2/-4
    • Ver Perfil
Facebook_Photo_Uploader - leandro
« en: Agosto 16, 2013, 04:47:06 am »
Buenas estoy usando el control de leandro "ucItem"

pero cuando trato de llenarlo desde otro formulario no me pinta nada
y cuando agrego un item recien me pinta el resto.....

aqui dejo adjunto el ejemplo a ver si alguien lo puede solucionar gracias :)

http://www.mediafire.com/download/5buya9g79q42h2q/Presentacion.rar

"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Facebook_Photo_Uploader - leandro
« Respuesta #1 en: Agosto 17, 2013, 08:36:25 pm »
Hola K_arlytos, como primero te aviso no es un control para cargar muchos items, ya que consumiria mucha memoria, pero si son menos de 100 no tendrías problemas.

el problema esta que llamas el formulario en vbmodal, y no podes hacer las llamadas para reordenar los items y refrescar el scroll entonces hace lo siguiente

dentro del formulario frm_SeleccionarProducto pone esto

Código: [Seleccionar]
Private Sub Form_Activate()
    ReorderItem
    ScrollControl.RefreshScroll
End Sub

y al ScrollControl ponele la propiedad AutoScroll = True

Saludos
« última modificación: Agosto 17, 2013, 08:37:56 pm por LeandroA »

k_arlytos

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +2/-4
    • Ver Perfil
Re:Facebook_Photo_Uploader - leandro
« Respuesta #2 en: Agosto 17, 2013, 09:06:08 pm »
SI TIENES RAZÓN CUANDO ES MAYOR A 100 SALE ERROR DE MEMORIA
Y QUE SUGIERES PARA EVITAR ESTO?

SE PUEDE MODIFICAR ALGO PARA QUE OCUPE MAS ITEM?

TE DEJO UN ENLACE NO SE PORQ CUANDO CARGO ME DALE DESCUADRADO..
ME SALEN DOS SCROLLBAR UNO HORIZONTAL Y VERTICAL
NO PUDE SOLUCIONARLO, PERO TE DEJO EL LINK PARA QUE LO CHEKES PORFA
http://www.mediafire.com/download/qq04fybybv9tyn0/Presentacion2_.rar
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Facebook_Photo_Uploader - leandro
« Respuesta #3 en: Agosto 18, 2013, 02:33:47 am »
Lo que pasa es que yo lo hice a mi necesidad, no era para cargar muchos items, te explico el porque ocupa mucha memoria, vos estas creando controles, estos controles a su ves tienen mas subcontroles, entonces si cargas 100 items son aproximadamente unos 700 controles (una guazada) y como se hace esto entonces?, para eso hay que hacer algo como un listview, eso seria repintando la ventana, la posición del scroll es en base a la cantidad de items (todo esto usando metodos graficos), entonces cada vez que scroleas, se repinta la ventana con solo la información que se puede mostrar, y todo esto solo utilizando un control. muchos lo que hacen es utilizar el listview, y usar un repintado personalizado o bien podes crear un control como te mencione pero lleva su tiempo y conocimiento.

en fin si de todas formas te sirve, para solucionar el problema del scroll que mencionaste, este seria el codigo para el frm_SeleccionarProducto

Código: (vb) [Seleccionar]
Option Explicit

Private Sub Btn_Agregar_Click()

        ScrollControl.ResetScroll
             AddItem "00", "abre", "descr", 5, "KL", "UM01", "RUTA"
       
        ReorderItem
        ScrollControl.RefreshScroll
End Sub

Public Sub AddItem(ByVal ID As String, ByVal Abreviatura As String, _
                    ByVal Descripcion As String, ByVal Cantidad As Long, _
                    ByVal UnidadMedida As String, ByVal UnidadMedidaID As String, ByVal sPath As String)


        Dim i As Long
        If Len(oItem(0).ID) Then
            i = oItem.Count
            Load oItem(i)
        End If

        With oItem(i)
            .ID = ID
            .Abreviatura = Abreviatura
            .Descripcion = Descripcion
            .Cantidad = Cantidad
            .UnidadMedida = UnidadMedida
            .UnidadMedidaID = UnidadMedidaID
            .PicturePath = sPath
            .Visible = True
        End With

End Sub

Public Sub ReorderItem()
    Dim i As Long, lTop As Long
    For i = 0 To oItem.Count - 1
        If oItem(i).Visible Then
            oItem(i).Top = lTop
            lTop = lTop + oItem(i).Height
        End If
    Next
End Sub

Private Sub Form_Activate()
    ScrollControl.ResetScroll
    ReorderItem

    ScrollControl_Resize
    ScrollControl.RefreshScroll
   
    If ScrollControl.IsVerticalVisible Then
        ScrollControl_Resize
        ScrollControl.RefreshScroll
    End If
End Sub

Private Sub Form_Load()
    ScrollControl.AutoScroll = True
    ScrollControl.ScrollWheel = oItem(0).Height / Screen.TwipsPerPixelY
End Sub


Private Sub oItem_RemoveItem(Index As Integer)
    oItem(Index).Visible = False
    ScrollControl.ResetScroll
    ReorderItem
    ScrollControl.RefreshScroll
End Sub

Private Sub ScrollControl_Resize()
    Dim i As Long
    For i = 0 To oItem.Count - 1
        oItem(i).Width = (ScrollControl.ScaleWidth) * Screen.TwipsPerPixelX
    Next
End Sub



k_arlytos

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +2/-4
    • Ver Perfil
Re:Facebook_Photo_Uploader - leandro
« Respuesta #4 en: Agosto 18, 2013, 04:21:39 am »
GRACIAS LEANDRO YA ESTA CORRIENDO BIEN

PERO QUE PENA QUE SOLO AGUANTE HASTA MENOS DE 100  SERIA UN CONTROL MUY INTERESANTE
UNA OPCIÓN PARA NO USAR UN DATAGRID U OTROS CONTROLES CONTENEDORES

"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Facebook_Photo_Uploader - leandro
« Respuesta #5 en: Agosto 19, 2013, 11:33:01 am »
La verdad esta muy bueno el control yo intente cargarle tambien unos registros pero se volvio lento. Que bueno seria tener un control como este que hizo leandro
http://leandroascierto.com/blog/buscar-imagenes-en-la-web/

Pero que tenga unas propiedades como este



Ahi podes ver tiene como

Titulo        : Producto 0
SubTitulo  : Helados
Cantidad  : 18

pero que tenga la apariencia como hizo el amigo leandro.
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo