Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Grilla Farpoint Spread 7 u 8 (https://www.cobolforo.es/showthread.php?t=1265)

Fito 20 de febrero de 2021 18:51

Grilla Farpoint Spread 7 u 8
 
Hola Amigos:

A raíz de una pregunta que hizo un colega cobolero que utiliza esta grilla, muy linda para decir. Tiene la necesidad de cargar imágenes en las celdas.

Este componente tiene esa utilidad pero el problema es que para asignarle la imagen a la celda utiliza un tipo de dato imagen, que en los ejemplos de VB que trae, utiliza un método del propio Activex, LoadPicture. En VB es sencillo porque pueden utilizarlo a manera de función y además ese tipo de dato debe existir en VB.

Estuve buscando Info en este foro y encontré un post que mencionaron este problema con otro colega que quería insertar imágenes en un archivo de Word. Pero la solución no está desarrollada y aparentemente no la hay según leí ahí. La única diferencia en este caso es que el método LoadPicture está en el OCX y ahí no.

Hago propia la necesidad de este colega, porque me interesó mucho la idea de poder utilizar algo así. Estuve renegando bastante y no logré absolutamente nada.

Si hay algún colega que tengo alguna idea de cómo seguir, agradecería el aporte.

Saludos.

Fito...

Kuk 21 de febrero de 2021 11:24

@Fito, teoricamente se puede cargar una imagen via WinAPI, y pasarle el Handle a la función que la coge para cargar en la grilla

Nitzer 21 de febrero de 2021 16:03

Hola equipo, llevo dias de trabajo a tope :(, no pude enviar nada al concurso y me duele.
Sobre esto que comentáis os quiero contar una cosa, pero creo que voy a crear un nuevo tema, por la "importancia" que creo, tiene, al menos a mi me lo ha parecido.
Voy a abrir el tema.

Fito 21 de febrero de 2021 17:29

Hola: eso que decís KUK lo pensé y estaba seguro de que se podía. Pero mi sapiencia no llega a tanto, no sabría cómo hacerlo.

Saludos

Fito...

Kuk 22 de febrero de 2021 08:58

@Fito, muéstranos el método que recibe la imagen en VB, te ayudamos ;)

Fito 8 de mayo de 2025 20:46

Hola:

Retomo el posteo, porque ahora estoy ncesitando resolver.

Código VB:
  1. ' Especificar una celda
  2. fpSpread1.Col = 2
  3. fpSpread1.Row = 3
  4. ' Cambiar la altura de la fila para mostrar la imagen
  5. fpSpread1.RowHeight(3) = 25
  6. ' Establecer el ancho de la columna
  7. fpSpread1.ColWidth(2) = 5
  8. ' Define el tipo de célula como imagen
  9. fpSpread1.CellType = CellTypePicture
  10. ' Mostrar una imagen
  11. fpSpread1.TypePictPicture = LoadPicture("C:\Samples\Files\BELL.BMP")
  12. ' Configurar la imagen para que se estire y se ajuste al tamaño de la celda
  13. fpSpread1.TypePictStretch = True
  14. ' ' Configura la imagen para que mantenga proporcionalmente su ancho y altura cuando se estireConfigure la imagen para que mantenga proporcionalmente su ancho y altura cuando se estire
  15. fpSpread1.TypePictMaintainScale = True

Este es el código ejemplo. El probema está en que la propiedad "TypePictPictute" es tipo image.

Saludos

Fito...

Kuk 8 de mayo de 2025 21:36

@Fito, cómo trata la grilla, vía COM/OLE o directamente invocando métodos?

Siguiendo con lo que decía en mi post anterior, se puede cargar la imagen con WinAPI y pasarle el Handle a la propiedad TypePictPicture: Función LoadImageA (winuser.h) - Win32 apps | Microsoft Learn

Fito 8 de mayo de 2025 23:44

1 Archivos Adjunto(s)
Hola @Kuk,

La grilla se incrusta en el formulario y la manejo invocando sus metodos.

La uso como detalle para cargar una orden de compra y me gustaría que en una de sus columnas (la marcada de rojo en la imagen) se vea la imagen del producto

Adjunto captura de pantalla.

Saludos.

Fito...

fastpho 9 de mayo de 2025 20:42

1 Archivos Adjunto(s)
@Fito Funciono pasando desde el control CmImage1 del pwc a la celda
Código COBOL:
  1.     *> columna 3 es la imagen
  2.      move 3        to "Col" OF fpSpread1.
  3.      move 1        to "Row" OF fpSpread1.
  4.      move 9        to "CellType" OF fpSpread1.
  5.    
  6.  
  7.  
  8. *     move "Image" OF CmImage2 to "TypePictPicture" OF fpSpread1. *>ico
  9. *     move "Image" OF CmImage3 to "TypePictPicture" OF fpSpread1. *>bmp
  10.      move "Image" OF CmImage4 to "TypePictPicture" OF fpSpread1. *>jpg
  11.      move 250  to  "ColWidth"(3) OF fpSpread1.
  12.      move 250  to  "RowHeight"(1) OF fpSpread1.
Saludos ...

Fito 12 de mayo de 2025 05:42

1 Archivos Adjunto(s)
Hola Osvaldo:

En algún momento consideré esa opción, pero no llegué a concretarla. Anda perfecto, lo único que en vez de utilizar en control que trae power, usé otro que me permite trabaja con archvos PNG, pero lo hoce exactamente como vos decís.

Muchas gracias.

Saludos...

Fito


La franja horaria es GMT +2. Ahora son las 13:54.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.