Cita:
Empezado por astwin
Miré por enciima el componente TsimpleGraph, pero la verdad que me asuste un poco, ya que a priori me parecio muy dificil de entender y de usar. Pero creo que voy a dedicarle desde ahora un tiempo a comprenderlo y a hacer pruebas con el.
La aplicacion que quiero desarrollar es muy similar a esta http://www.symetrixaudio.com/repository/snd_v801.exe.
Si alguien fuera capaz de echarle un ojo y decirme que rumbo deberia tomar para realizar algo asi, le estaria muy agradecido, ya que soy muy nuevo con delphi y ando aun algo (por no decir) muy perdido.
|
Hola astwin.
La verdad es que parece una contradicción. Quieres hacer un programa similar al que me propones, pero un simple componente que te facilitaría el trabajo (no te lo hará por completo) ya te parece difícil de usar y de entender. ?¿?¿?
No quiero desanimarte ni mucho menos, es un buen reto a afrontar, pero debes pensar que ese componentes es sólo una herramienta que te permitará realizar de forma más sencilla ese programa. Deberás entenderla y modificarla si quieres usarla.
Si no quieres o puedes usarla (esta u otra similar), creo que aun la cosa se torna más negra, ya que la mayoría de cosas de las que hace ese componente deberás programarlas tú.
Un componente como SimpleGraph o algun otro similar que hay ya te proveen de lo siguiente:
(1) En primer lugar de la más básico de un programa como este; Tu espacio de trabajo; La "hoja/papel" sobre el que posicionas los componentes. No es poco, ya que ese simple espacio posee muchos métodos; Todos los de movimiento (pan) y zoom; Todos los de tratamiento de los objetos; Añadir, eliminar, guardar, imprimir, exportar; Te gestiona la selección/multiselección de objetos. Te provee los métodos para recorrer los objetos y sus diferentes tipos; Gestión del Grid, bloqueo de objetos,...
A priori tal vez no lo has pensado, pero en un programa de este estilo todo eso antes o después es necesario.
(2) En segundo lugar te provee de los objetos. SimpleGraph posee programados los objetos básicos; Rectángulos, círculos, líneas,... Tu trabajo será extender esos objetos (derivarlos) para conseguir los que tú necesitas. Al igual que el punto anterior, eso no es poco. No son simple objetos, sino que ya tienen programados muchos métodos y propiedades que te harán falta. Selección, redimensionado, Añadir texto a los objetos, gestionar marcas de lección, pintado, Brush,... Para el tema de los links entre objetos también tines algo hecho, ya que programa deterinada lógica para "enganchar" diferentes objetos.
A partir de ahí posiblemente tengas que programar el comportamiento que se ve en el ejemplo de "unir" bloques por determinados puntos.
Como ya he dicho, no me parece algo trivial, ni sencillo. Creo (y yo lo haría así) que para centrarte en la funcionalidad del programa debes usar algun componente que te evite perder tiempo y esfuerzo en cosas que a priori paracen superfluas (como las que te he comentado).
Un saludo.