FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Programa Grafico
Necesito confeccionar un programa que me permita colocar objetos en un plano, es más, es para salones de actividades, pero el cliente quiere que se haga graficamente, con objetos, que yo los pinche y los ponga a guusto en un plano, como colocamos los componente en delphi.
¿ Alquien sabe donde encontrar un ejemplo o documentación al respecto ? Saludos Fer |
#2
|
||||
|
||||
Puedes implementar algo sencillo y funcional aunque quizá no muy vistoso con objetos TShape (paleta "Additional") (cuadrados, rectángulos, círculos y elipses).
Para moverlos pones su propiedad DragMode en dmAutomatic y manejas los eventos OnDragOver y OnDragDrop del objeto sobre el cual coloques las figuras, por ejemplo, un panel. Aquí te pongo un ejemplo completo:
Asocia los eventos SuperficieDragOver y SuperficieDragDrop al panel Superficie y el evento ObjetoStartDrag a los Shape Mesa y Silla (estos deben estar dentro del panel y con su propiedad DragMode en dmAutomatic). La variable Ancla que se inicializa en el evento OnStartDrag es para saber la posición relativa de la esquina superior izquierda del objeto respecto del punto desde donde se toma el objeto y así colocarlo correctamente al terminar de arrastrarlo. Como te digo, no es muy vistoso pero bueno para algo esquemático en el que baste indicar los distintos objetos reales con figuras simples (puedes variar su color y pintarlo parejos o con rayitas). Algo más sofisticado con la misma idea puedes lograrlo usando objetos TImage en lugar de TShape cargándolos con las imágenes que desees. EDITO: Amplío un poco la explicación. Los eventos OnDragOver y OnDragDrop los recibe el objeto sobre el cual se arrastran otros. OnDragOver sirve para que el objeto destino (Sender) determine si va a aceptar o no al objeto móvil (Source) y ajuste el parámetro Accept según el caso (en el ejemplo, el panel acepta al objeto móvil sólo si éste es un TShape). El evento OnDragDrop ocurre una vez que se suelta el objeto. En el ejemplo lo aprovechamos para ajustar las propiedades Left y Top del Shape (Source) para que efectivamente se mueva. // Saludos Última edición por roman fecha: 09-03-2005 a las 06:35:40. Razón: Ampliar explicación |
#3
|
|||
|
|||
Muchas gracias
de veras, ahora es la hora de ver si puedo ponerlo a andar
Gracias Fer |
#4
|
|||
|
|||
Componentes en tiempo de ejecucion Ampliar Porfa
Ramon lei como colocar los componentes en el panel y me parece fantastico la forma de hacerlo, ahora como guardo la informacion en uba base de datos y como la recupero? disculpa molestarte pero me parecio una solucion buenisima
|
#5
|
||||
|
||||
Suponiendo que el nº de objetos es fijo y definido anteriormente:
Creo que es autoexplicativo el codigo,ya sabes . Saludos |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|