PDA

Ver la Versión Completa : timeline con stringgrid


(MAJ)
26-09-2018, 05:37:51
Buenas gente linda del foro, estoy queriendo hacer un timeline con un stringgrid de la siguiente forma;http://www.lodgit-hotel-software.com/files/lodgit/Gallerie_en/reception_mac.png
como en la imagen los rectangulos superpuestos al stringgrid o a alguna grilla (dbgrid, stringgrid, etc), y de ser posible manejar el evento onclick o algo
la verdad no encontre mucho por la web por eso recurro a su sabiduria, espero no joder a nadie.
desde ya les agradezco el tiempo
p/d: no se en que apartado ponerlo, asi que lo puse por acá

manelb
26-09-2018, 07:35:50
Yo tenia que hacer algo similar hace un tiempo y opté por buscar componentes de terceros.

Concretamente podrías echar un vistazo en https://www.tmssoftware.com/, hay un paquete de calendarios y plannings.
Dispone de múltiples ejemplos de prueba de cada uno de sus componentes.

Finalmente no se hizo el proyecto y no los compramos, pero sigo teniendo los trial instalados por si los necesito.

Saludos

WHILENOTEOF
26-09-2018, 07:56:30
En los Jedi VCL (gratuitos), hay un componente timeline que te puede servir.

Neftali [Germán.Estévez]
26-09-2018, 09:08:38
Estaria bien que pusieras lo que has estado haciendo para que te podamos ayudar.

De primeras tengo dudas de si un TStringGrid o similar va a ser lo más adecuado, ya que son componentes enfocados a pintar celdas, y lo que tú necesitas no son exactamente celdas, de todas formas se puede probar a ver se comporta bien.


La otra opción es diseñarlo desde cero (al final pintar las celdas no cuesta tanto).

WHILENOTEOF
26-09-2018, 10:03:25
;528606']Estaria bien que pusieras lo que has estado haciendo para que te podamos ayudar.

De primeras tengo dudas de si un TStringGrid o similar va a ser lo más adecuado, ya que son componentes enfocados a pintar celdas, y lo que tú necesitas no son exactamente celdas, de todas formas se puede probar a ver se comporta bien.


La otra opción es diseñarlo desde cero (al final pintar las celdas no cuesta tanto).

No coincido con esto, creo que un TStringGrid o un TDrawGrid, ya te da la base para organizar filas y columnas (lo cual se parece mucho a la imagen que ha puesto), y tienes eventos para controlar cuando se seleccionan celdas, lo que habría que añadir es el pintado de esas celdas, pero partir de alguno de esos dos componentes no me parece mala idea para esto.

Casimiro Notevi
26-09-2018, 10:22:33
En torry.net (https://torry.net/quicksearchd.php?String=timeline&Title=No) parece que hay bastantes, seguro que alguno te sirve.

Neftali [Germán.Estévez]
26-09-2018, 13:20:33
No coincido con esto, creo que un TStringGrid o un TDrawGrid, ya te da la base para organizar filas y columnas (lo cual se parece mucho a la imagen que ha puesto), y tienes eventos para controlar cuando se seleccionan celdas, lo que habría que añadir es el pintado de esas celdas, pero partir de alguno de esos dos componentes no me parece mala idea para esto.


Bueno, ya he dicho que era cuestión de probarlo.

Lo digo porque, por la experiencia que tengo en derivar componentes de tipo TGrid (no mucha), los mensajes, eventos y el código de estos controles está pensado para trabajar a nivel de celda (los que más me preocupan son los repintados) y justo el componente que desea diseñar [(MAJ)] aunque tiene una rejilla pintrada de fondo, se bbasa en dibujar elementos que no se ajustan a las celdas.


De ahí que no descartaría trabajar con un componente no basado en celdas y pintar estas de fondo (e implementar los eventos de teclado que me parece lo más simple).

(MAJ)
26-09-2018, 13:56:02
gracias a todos por su tiempo:D


;528606']Estaria bien que pusieras lo que has estado haciendo para que te podamos ayudar.

De primeras tengo dudas de si un TStringGrid o similar va a ser lo más adecuado, ya que son componentes enfocados a pintar celdas, y lo que tú necesitas no son exactamente celdas, de todas formas se puede probar a ver se comporta bien.


La otra opción es diseñarlo desde cero (al final pintar las celdas no cuesta tanto).


basicamente es eso, una linea de tiempo,de una base de datos traigo las fechas de los eventos que tengo registrado en un lapso de tiempo, y los dibujo en el grid, cuando uno hace click en el rectangulo del evento, salta un hint con una descripcion del evento, y con un click derecho se pueda abrir un popup con opciones sobre ese evento, ej modificarlo, elimiarlo, cosas por el estilo.
No se que tan complicado sera, ya que no soy de meterme con graficos(canvas, bitmap, etc), estuve probando en el canvas del stringgrid un trect y llenandolo con el brush, lo dibuja, pero no se como podria manejar los eventos, ademas de si es o no practico hacer eso.:confused: