FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con drag and drop y con OnPaint
Hola,
estoy realizando una aplicacion que se debe encargar de interconectar de forma grafica una serie de bloque que poseen entradas y salidas. Desde un TreeView se debe escoger el bloque que se desee, con una operacion de drag and drop dibujar el bloque, y pinchando en las entradas y salidas de los bloques se deben interconectar mediante una linea. Pues bien, he realizado una version muy primitiva de mi aplicacion y tengo un par de problemas. 1.- He intentado realizar la operacion de drag and drop con una imagen del bloque como imagen del drag, pero ella solo aparece cuando vas a insertar un bloque y pasas con el raton en la operacion de drag por encima de otro bloque ya insertado. 2.- Las lineas dibujadas desaparecen, pese a que he programado el evento onPaint del formulario. Ademas, cuando ya existe una linea dibujada y insertas algun bloque, se borra parte de esta. Si pudierais darme alguna solucion para mis problemas, o decirme alguna otra forma de hacer mi aplicacion o algun consejo o sugerencia que me ayude en mi cometido os estaré eternamente agradecido. Mi proyecto: http://www.megaupload.com/?d=8KXZ26P0 |
#2
|
|||
|
|||
Ya se que tu post tiene 2 años, pero recien lo leo y me sigue interesando
Primero que nada quiero agradecerte por compartir tu código. Y quiero hacerte un par de preguntas.
¿Que versión de Delphi usas? ¿De que trata el proyecto? ¿Tienes una versión nueva del mismo, que puedas compartir? Te cuento, algo que me gustaría hacer es un software muy chico de simulación de circuito, que consista en poner una batería, una resistencia y un foco, y que se pueda armar el circuito, creo que si logro realizar eso, puedo ponerme a trabajar en otros software más importantes, estos siempre lo encaro en mis tiempos libres y siempre averiguo un poco y me tranco. Desde ya muchas gracias. |
#3
|
|||
|
|||
Cita:
pequeños circuitos que quizas te sean de ayuda. |
#4
|
|||
|
|||
Un pequeño ejemplo.
He lo hago una vez para aprobar algunas ideas. Puede ser estara útil. |
#5
|
|||
|
|||
Muchisima gracias.
Acá en el trabajo ya están instaladas las librerías y pude verlo, el código que me diste está buenísimo es justo lo que necesito. Sin falta el miércoles a la tarde lo instalo en mi casa, tengo reunión con mi tutora de tesis el miércoles a la siesta.
Muchísimas gracias. |
#6
|
|||
|
|||
Rounin, de donde leiste para hacer ese código.
Hola rounin, me puedes facilitar un enlace o libro que hayas utilizado para realizar el código que me diste?
Desde ya muchas gracias. |
#7
|
|||
|
|||
No se.. Nada especial.
Codigo es practicamente puro OOP, nada mas. Booch, GoF, VCL, etc. |
#8
|
|||
|
|||
Me ayudas a entenderlo.
Hola eh leido Booch y creo que la VCL uno nunca deja de sorprenderse. Estuve estudiando tu código y en principio se entiende lo que realiza, pero cuando quise hacer una pequeña modificación, para desgracia no me anda, estuve viéndolo y tratando de buscarla la vuelta y nada.
Te comento la modificación que realize. Declaro 2 variables publicas. Le agrego un botón que dice Agregar 2x2. En el evento onclick del boton pongo la bandera en true. Y por ultimo modifico el evento MouseDown del TPaintBox, tratando que solo tome el nuevo camino cuando se presiono el botón, o sea creo que deberia seguir andando igual cuando no se presiono en el botón.
Se inserta los bloques, pero ya no funciona a la hora de dibujar nuevas lineas y es justo ahí donde se me quemo un par de cables. Rounin, te comento que me gusta mucho tu código, creo que sobre este tipo de cosas hay poca documentación, mientras que DB se tiene Millones de lugares donde leer y preguntar, pero sobre diseñar software tipo CAD (Diseño Asistido por Computadora), no hay mucho . Desde ya muchas gracias. |
#9
|
|||
|
|||
Es mi error. He olvidado inicializar h en PBoxMouseDown
h := False; // !!!!! FRoot.DoMouseDown(Button, Shift, X, Y, h); |
#10
|
|||
|
|||
Pienso que mejor hacer objecto para toda esquema.
Aproximamante así:
|
#11
|
|||
|
|||
Muchas gracias.
Ya eh probado de poner la bandera en false y funciona a la perfección, pero como veo que eres realmente un maestro voy a hacerte caso y voy estudiar el segundo código que me diste.
Desde ya muchas gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Drag and Drop... | dvlt | .NET | 0 | 07-02-2008 10:42:59 |
Drag & Drop | DanForever | Varios | 2 | 01-06-2006 15:24:25 |
Drag&Drop !!! | rafstyle | OOP | 6 | 27-07-2004 05:39:41 |
Drag & Drop en StringGrid (Nuevo problema) | miguel_fr | Varios | 3 | 27-06-2004 18:50:33 |
Drag&Drop | xflo | Lazarus, FreePascal, Kylix, etc. | 0 | 13-10-2003 20:31:22 |
|