Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-08-2005
mosorio mosorio is offline
Miembro
 
Registrado: may 2003
Posts: 159
Poder: 22
mosorio Va por buen camino
Question Dibujar circulos y arrastrarlos

Hola, tiempos sin escribir.

Después de tanto tiempo de desaparición debido a la utilización de otros lenguajes por culpa del mercado, he tenido la oportunidad de retomar el Delphi, y esta vez quiero hacer unas consultas.
Necesito dibujar en un área varios circulos, en los cuales cada uno colocarle un codigo o un numero, pero ademas de eso, poderlos seleccionar con el raton y poderlos arrastrar.
He estado mirando documentación del canvas, etc y he dibujado varios circulos, pero cuando quiero cambiar las coordenadas, o sale uno encima del otro o dibuja una elipse.
Además de esto, quiero enlazar los circulos con lineas y flechas para poder crear un grafico que necesito.
He visto unos componentes que lo hacen y son gratuitos, pero este componente tiene varias formas y sólo quiero el circulo y las lineas.
Se que alguno dirá y ¿por qué no lo tomas si es gratuito?, sencillamente porque pienzo tomar ese mismo codigo del dibujo del circulo para implementar un componente que me haga el circulo y en el encapsular otras funcionalidades que necesito para el módilo que estoy haciendo, por tal motivo si tomo ese componente, adicionaré más codigo y se que me voy a liar después.
Sólo pido por favor que me orienten en cómo debo dibujar el circulo, las lineas con flechas enlazarlas y crear el área de dibujo o donde se puedan visualizar.

Muchas gracias por adelantada.
PD: Utilizo D6. por cierto no he dejado de leer el foro, pero no he tenido tiempo para contestar a las consultas de otros compañeros.

Saludos
Responder Con Cita
  #2  
Antiguo 14-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No puedo darte una respuesta, pero, se me ocurren algunas cosas luego de leer tu mensaje. Espero que no te importe que las refiera: lo haré por ver si pueden servir de algo.

Supongo que cuando hablas de que existe un componente para hacer más o menos lo que precisas te refieres al componente "TSimpleGraph" publicado en DelphiArea. Lo supongo porque se ha tratado en estos Foros sobre este componente.

Si es así el mencionado componente no es que sea gratuito, es que además es libre, esto es, de código abierto, como se dice. Entonces, ¿porqué no partes de cómo se hace allí lo que tú precisas hacer?

Por otro lado, probablemente no tengas que utilizar el componente al completo: tal vez podrías heredar de alguna clase base del mismo, si ya no te interesa utilizar toda su potencia, o quieres añadir algo por tu cuenta.

Ya ves. No se me ocurre otra cosa. Lo siento. Si he dicho lo que he dicho es porque, verdaderamente, el componente "TSimpleGraph" hace algo tan parecido a lo que pretendes que me parece una buena fuente para averiguar cómo consigue hacer lo que hace.

Probablemente alguien ofrecerá otro punto de vista o información de cómo solucionar algunas o todas las cuestiones que planteas: bienvenido sea.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 16-08-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Lo que yo puedo añadir...

(1) He utilizado el componente del que habla dec y lo he modificado (incluso he mantenido un par de conversaciones con el autor por temas de bug y sugerencias) y lo encuentro muy recomendable; Ya que implementa muchas funcionalidades típicas de un editor de éste tipo y además es fácilmente ampliable; En mi caso derivé algunos de los objetos existentes para añadirles propiedades y creé algunos nuevos.

(2) De todas formas, si deseas no utilizarlo, yo optaría por utilizar objetos, en lugar de ir directamente al Canvas. Una buena opción (básica y sencilla) es utilizar TShape. Te adjunto un pequeño ejemplo que en su día posteé para mover imágenes (en su día debían ser mesas de un restaurate), pero que con unas pequeñas modificaciones funciona perfectamente con TShapes y te puede servir para hacer circulos y líneas.

De todas formas, ten en cuenta las operaciones que vas a necesitar posteriormente; Por ejemplo, si luego vas a necesitar que se puedan seleccionar los elementos, dibujarles los típicos puntos de selección que aparecen en diseño, poder cambiarles el tamaño, poder guardar y recuperar de disco, poder imprimir, poder añadirles etiquetas, cambiarles color y tipo de línea, hacer Zoom,... Todas esas operaciones son las que te brinda el componente comentado.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 30-05-2007 a las 14:17:39.
Responder Con Cita
  #4  
Antiguo 16-08-2005
mosorio mosorio is offline
Miembro
 
Registrado: may 2003
Posts: 159
Poder: 22
mosorio Va por buen camino
Red face

Hola,
Les doy muchas gracias por las respuesta, de hecho es lo que he pensado y puesto manos a la obra, ayer mismo, hice un pequeño componente basado en el TShape, claro que he tomado el código donde dibuja el circulo solamente ya que es el único tipo de gráfico que necesito, con respecto al componente que mencionan, si es el mismo, pero lo que estoy haciendo es un aplicativo de la empresa que será vendido a un cliente y para evitar los temas de LOPD, prefiero realizarlo y hacer las preguntitas pertinentes del caso, se que puedo basarme en el código para algunas cosas que necesito y de hecho creo que lo haré.
Pero hasta donde llegan los temas de licenciamiento por utilizar parte de este código o basarme en él.

Gracias nuevamente
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:42:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi