PDA

Ver la Versión Completa : Componentes con su propio editor


Sonic
01-09-2004, 14:22:41
A ver, antes de nada, saludos a todos!

Tengo un amiguete que tiene una duda y no sabe a quién acudir y la verdad yo no he podido resolverle el problema puesto que nunca he tratado con los asistentes que muchos componentes tienen integrados.

El problema es el siguiente:

Posee una librería de componentes, que yo también uso, por si alguno las conoce son las IoComp. Bueno, pues al insertar este tipo de componentes en una aplicación, el componente permite hacer doble clic en él y te aparece un Editor de Propiedades con el que puedes cambiar aspectos importantes del componente. (Las propiedades a las que me refiero no son las que aparecen en el Object Inspector, si no que son otras que producen cambios más elaborados. Es una ventanita con varias fichas y muchas opciones, creo que este Editor se suele llamar Asistente de propiedades, pero no estoy seguro).

En su proyecto ha metido este componente y ha hecho que se pueda acceder a este mismo asistente en tiempo de ejecución para que se le puedan cambiar las propiedades al componente.

El caso es que se vió en la necesidad de cambiar la forma de uno de esos asistentes para que en ejecución no muestre todas las opciones que muestra en tiempo de desarrollo y no sabé cómo (actualmente accede mandando mensajes a la API que buscan cuál es la ventana que está activa y si es del tipo que el busca, pues accede y le hace cambios en tiempo de ejecución, pero eso no es lo que podríamos llamar una solución elegante, no?:rolleyes:).

Lo que pretende es poder acceder al manejador de esa ventana en tiempo de ejecución de alguna forma más directa y poder poner código que responda al evento OnClose de dicho asistente.

Sé que lo que pido es poco genérico y creo que bastante complicado, pero bueno, como siempre, cualquier aportación será bien recibida.

Muchas Gracias a todos!

roman
01-09-2004, 16:29:15
Pues como no dispongan del código fuente está un poco difícil. Quizá pueda intentar hacer un 'subclassing' reemplazando el procedimiento de ventana del cuadro de diálogo para manipular el mensaje WM_CLOSE aunque para ello deberán conocer el 'handle' de la ventana del editor (por cierto, se llama editor de componente).

Desconozco en absoluto las componentes qe mencionas pero quizá le resultaría a fin de cuentas más fácil crearse su propio editor.

// Saludos

Sonic
02-09-2004, 13:03:19
Muchas gracias Román, el inconveniente principal es que son muchos componentes y hacer "subclassing" de cada uno de ellos o hacer un nuevo editor de propiedades (gracias por la aclaración), es demasiado trabajo. Creo que al final se quedará con lo de la API que hizo, aunque me dijo que ha descubierto una forma más "fina" de hacerlo mediante Pascal, pero no me hagas mucho caso, aún así muchas gracias y si conseguimos resolverlo de alguna forma lo postearé para que a quien le interese pueda verlo.

Un saludete para todos!