|
Hace mucho yo hice algo con una funcionalidad similar a lo que vos querés hacer, se trataba de un editor de consultas donde sobre un panel, que era una clase propia, iban tirando tablas de modo drag and drop, y establecían las relaciones entre estas, con el drag and drop de los campos. Como no puedo pasarte los fuentes, porque pertenecen a la empresa para la que trabajo, te voy a contar como lo hice:
El panel contenedor era una clase propia, que tenía todos los métodos de “brodcast” para todos los objetos contenidos. Las tablas y otros objetos, heredaban de una clase que heredaba de un TCustomPanel, estas clases exigían tener como Parent un componente del tipo del “contenedor”.y en los eventos MouseDown, MouseMove, MouseUp, se encontraba la lógica para que se muevan dentro del contenedor. Para las líneas de las relaciones entre las tablas, manejaba regiones irregulares para saber cuando el ratón estaban sobre la línea, creo que lo vas a tener que hacer para tus figuras.
Bueno, eso fue solo una intro, si te interesa, porque se asemeja a lo que querés hacer, te puedo dar una mano. Lamento no poder pasarte los fuentes, pero de a partecitas todo es posible.
Te cuento que todo esto lo hice, con casi sin conocimientos del lenguaje, así que muy difícil no creo que sea.
Saludos!
__________________
delphi.com.ar
Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
|