Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Selección de componentes en tiempo de ejecución (https://www.clubdelphi.com/foros/showthread.php?t=64234)

GuerreroDelphi 23-03-2009 23:00:04

Selección de componentes en tiempo de ejecución
 
Hola, todos:
Estoy elaborando un editor de informes, basado en Quick Report, en el que puedo mover y redimensionar componentes como TQRLabel, TQRText, Tshape, TQRExpression, etc, sobre el formulario TQuickRep.
Ya he logrado seleccionar varios componentes mediante teclado, pero ahora deseo poderlos seleccionar también con el ratón. Para ello he intentado utilizar un componente TShape con estilo rectangular, para indicar la región definida por el usuario, cuando arrastra el mouse sobre una banda; pero este componente, por ser descendiente de TGraphicControl, no me indica el rectangulo de seleccion completo, puesto que no se dibuja sobre los demas componentes (tal como se hace en el IDE de Delphi 2007). ¿Qué otro componente puedo utilizar que sea transparente y dibuje sólo su borde sobre una banda y sobre los demas componentes de la misma, o qué otro recurso puedo utilizar?
Agradezco la ayuda que me brinden...

dec 23-03-2009 23:16:26

Hola,

No estoy seguro, pero, igual te interesa el componente TSelectOnRuntime del compañero Neftalí. ;)

GuerreroDelphi 24-03-2009 00:01:18

Te agradezco mucho, dec, pero el movimiento y redimensionamiento de controles ya los tengo funcionando. Lo que deseo realmente es un elemento que me permita visualizar un recuadro, el cual indicará que es la region seleccionada por el usuario, con el puntero del mouse. Asi, los componentes que se encuentren en dicha área seran marcados como seleccionados para ser movidos o cambiar sus propiedades en grupo.
Solo necesito ese recuadro que se dibujara por encima de todos los componentes, indicando el area del grupo de controles a seleccionar, tal como cuando usamos el mouse en el IDE para seleccionar varios componentes contiguos, para modificar las propiedades de todos.
¿Que puedo hacer? Agradezco sus respuestas..

fjcg02 24-03-2009 08:51:53

Hola,
habeis pasado por http://delphiallimite.blogspot.com/ ?
Ultimamente está preparando un editor de informes que puede que te ayude.
En el segundo capítulo creo que puede estar la rutine que da solución a tu problema.

Saludos

GuerreroDelphi 30-03-2009 23:14:44

Gracias...
 
Gracias, amigos, pero definitivamente, tuve que crear un componente que permitiera seleccionar una región sobre otro componente. Valoro mucho la ayuda enviada por ustedes.

JoseAntonio 30-03-2009 23:28:36

Cita:

Empezado por GuerreroDelphi (Mensaje 342444)
Hola, todos:
Estoy elaborando un editor de informes, basado en Quick Report, en el que puedo mover y redimensionar componentes como TQRLabel, TQRText, Tshape, TQRExpression, etc, sobre el formulario TQuickRep.
Ya he logrado seleccionar varios componentes mediante teclado, pero ahora deseo poderlos seleccionar también con el ratón. Para ello he intentado utilizar un componente TShape con estilo rectangular, para indicar la región definida por el usuario, cuando arrastra el mouse sobre una banda; pero este componente, por ser descendiente de TGraphicControl, no me indica el rectangulo de seleccion completo, puesto que no se dibuja sobre los demas componentes (tal como se hace en el IDE de Delphi 2007). ¿Qué otro componente puedo utilizar que sea transparente y dibuje sólo su borde sobre una banda y sobre los demas componentes de la misma, o qué otro recurso puedo utilizar?
Agradezco la ayuda que me brinden...

Para no complicarse tanto tambien podrias usar el fastreport, esta herramienta, viene con un editor de reportes, al cual puedes acceder desde tu misma aplicacion en tiempo de ejecucion, tambien puedes programar algunas funcionalidades usando el soporte para scripts PascalSCript ( o VBScript) etc segun te convenga

nuk3zito 31-03-2009 19:24:40

El compañero JoseAntonio me ganó el comentario... pero también he pensado que talvez como material didáctico o como entretenimiento es que estás diseñando algo así, ya que estás tratando de reinventar la rueda.

Si lo que estás haciendo es para darle solución a una necesidad en tu proyecto, entonces humildemente te recomendaría que partieras desde un reporteador de verdad (como FastReport -yo utilizo este- o ReportBuilder), pero si lo que estás haciendo es a manera de prácticas o ejemplo, entonces mi post no cabe en este hilo.

Por no dejar, deberías echarle un vistazo a otro reporteador diferente a QuickReport, con lo cual se que no te quitarás de la cabeza superar ese reto... pero ahora tus retos y metas serán mayores.

Saludos.


La franja horaria es GMT +2. Ahora son las 01:49:09.

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