Feb 092023
 

Es un control de usuario para generar una galería o catálogo de productos donde podemos interactuar con imágenes, textos, links y controles. Para utilizar este control requiere conocimiento en dibujado de imágenes y texto, el control sólo ofrece una superficie donde se puede graficar, no es él quien lo hace, esto lo plantee de esta forma para que pueda ser totalmente personalizable, es necesario que se entienda el concepto antes de ponerlo en marcha, para los más experimentados es algo similar al OwnerDraw de los Listview.

El control ofrece tres tipos de vista:

Vista Galería: es donde se muestra una cuadrilla clásica de ítems.
Vista Deslizante: algo muy similar como podemos ver en Netflix o Prime video, donde los items se desplazan a la derecha o izquierda.
Vista de Lista: donde los ítems se acomodan uno debajo del otro.

He dejado algunos módulos donde facilitan cargas de imágenes y renderizado, como así con el texto y algunos ejemplos de simular controles sobre la lista.

No quedé muy conforme con su rendimiento, cuando el control es muy grande o el DPI es muy alto el control es lento en dibujarse. Hubiera sido mejor utilizar DirectDraw, pero mis conocimientos son muy limitados, así que opté por hacerlo con GDI y GDI+.

Como yapa hay un ocx que es lo último en lo que estuve trabajando, una suite con algunos de los controles aquí publicados, espero poder darme un tiempo en publicarlo con ejemplos.

ucGallery1.png
ucGallery2.png
ucGallery3.png
ucGallery4.png

Atención: Te recomiendo que no usar esta versión, mira esta actualización la cual esta mucho mas optimizada y es la que voy a mantener actualizada.

 Posted by at 0:23

  8 Responses to “ucGallery (catálogo de productos)”

  1. Outstanding Work! Thank you for sharing.

  2. Could you please fix the broken download link?

  3. Me reportaron un error en el ejemplo de access sobre en Windows 11 pro, si alguien mas tiene el mismo u otro problema pir favor comuniquemelo, ya en estos dias lo estaré corrigiendo

    • Ejemplo Access

      ucGallery -> CalculateGalleryHeight()

      Error división por cero ->mCol = mClientWidth \ ((m_ItemsMinWidth + m_ItemsMargin) * DpiF)

      valor de m_ItemsMinWidth = 0
      valor de m_ItemsMargin = 0

      ucGallery->Draw()

      Error división por cero ->mCol = mClientWidth \ ((m_ItemsMinWidth + m_ItemsMargin) * DpiF)

      valor de m_ItemsMinWidth = 0
      valor de m_ItemsMargin = 0

  4. hola leandro excelente control persiste un detalle en ucgrid que cuando lo dibujo en el formulario ejecuto hago doble click dentro de la grilla y truena.

    • hola Coya, estas hablando del ucGrid o del ucGallery, me desconcierta la pregunta porque estamos dentro del post del ucGallery, podrías especificar mejor si es en algún ejemplo puntal porque no veo en que lugar ocurre eso.

      Saludos.

  5. Hola, ¿Alguna de las versiones de ucgallery puede funcionar con Windows XP?.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)