FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Componente TShape con Label?
Hola, es primera vez que ingreso a este foro y he podido dar respuesta a muchas de mis preguntas por medio de las dudas que plantean los demás usuarios, por lo tanto decidí inscribirme para exponerles mi problema talvéz alguno de ustedes me pueda ayudar o brindar alguna otra solución.
Estoy creando una aplicación con componentes TShape que se generan en tiempo de ejecución, lo cual ya lo logré (MiComponente:=TShape.create(self)) sin embargo es necesario que cada componte que se crea tenga una etiqueta para identificarlo, pero por las características del componente TShape este no cuenta con una propiedad para agregarle Texto y no sé si esto es posible. Qué puedo hacer?. Les comento que para mi es importante poder dibujar un TShape pues la idea de la aplicación es representar un Diagrama de Flujo. Gracias de antemando por su colaboración. |
#2
|
||||
|
||||
Diagrama de Flujo
Hace tiempo tuve que hacer una aplicación similar (no diagrama de flujo, sino un Organigrama), inicialmente estuve construyendo un componente por mi propia cuenta, hasta que encontre en Devexpress el FlowChart y el OrgChart, dos componentes muy buenos que hacen lo que tu necesitas.
Si no me equivoco creo que TMS Software tambien tiene algo parecido. Espero que te sirva. Saludos |
#3
|
||||
|
||||
Una forma facil es crear un label arriba del componete TShape.
Otra es crear una clase descendiente de TShape y agregar la propiedad text. Luego en su evento Pain lo escribis. Algo asi:
puede contener errores el codigo pero es la idea.
__________________
[Crandel] |
#4
|
|||
|
|||
Muchas gracias a ambos por las respuestas y si efectivamente el componente FlowChart es demasiado poderoso para lo que yo quiero desarrollar sin embargo me da un panorama más amplio para eventualmente pensar en algo más elaborado, por otra parte la solución que plantea Crandel me es mucho más económica y cumple con lo que yo quiero en un principio, sólo tengo una duda dado que no he podido probar el código pues estoy en Exámenes de la U, el procedimiento Paint en el momento de ejecutar la línea Canvas.TextOut(10,10,ftext), va escribir en la posición 10,10 del Shape no del Form?
Gracias.... |
#5
|
||||
|
||||
Cita:
Puedes agregarle propiedades al componente para asignarle el lugar donde escribir o calcular de forma automatica la posicion, segun te guste
__________________
[Crandel] |
#6
|
|||
|
|||
Muchísimas Gracias Crandel, ya lo pude programar y funciona perfectamente, en cuanto a la posición si estoy tratando de que éste calcule la misma de forma automática, si tienes algo por ahí me puedes ayudar muchísimo. De todos modos muchas Gracias.
|
#7
|
|||
|
|||
Un ejemplo, centrando el texo en el shape:
Por otra parte, dado que mencionas que quieres hacer un diagrama de flujo, te puede interesar el componente TSimpleGraph, que es gratuito y del que además, puedes estudiar su código. Hay varias referencias al componente en los foros. Bye |
#8
|
|||
|
|||
Muy bueno el ejemplo de Crandel. Estaba buscando algo asi, y me parecio genial la idea. No sabia que con el canvas podias hacer tanto.
En cuanto a Jorge, te comento que puedes sacar la posición en la que se encuentra el puntero del mouse con algún evento como OnMouseDown que se activa cuando haces un click sobre el componente, o algo parecido relacionado al Mouse. Así pues se me ocurre que puedes hacer algo como esto: suponiendo que tu componente tiene dos propiedades de tipo Integer llamados X e Y con sus respectivos seters...
y ya lo tenemos. Despues esta en vos ver que utilidad le quieres dar al shape. Investiga los eventos relacionados con el mouse, que seguro ahí tienes la solución a tu caso particular. Espero haberte sido de ayuda.
__________________
"El ordenador nació para resolver problemas que antes no existían." Bill Gates. |
#9
|
|||
|
|||
Cita:
Muy Bueno KeyBoy tanto el procedimiento de Centrado en el Shape así como el TSimpleGraph este ultimo esta excelente voy a revisarlo. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Una ayudita con TShape | JerS | Varios | 8 | 28-04-2010 04:07:11 |
Mover un Tshape en ejecucion | rex | Varios | 1 | 25-11-2006 00:37:20 |
Componente "tipo label" | marceloalegre | Varios | 3 | 19-10-2005 16:15:14 |
Un TShape con personalidad | elcigarra | Gráficos | 7 | 21-07-2005 04:47:00 |
|