![]() |
Acceder a propiedades componentes de un form
Hola compañeros me gustaria saber si es posible acceder a las diferentes propiedades de componentes un form, o sea los que sean dbedit, edit, sbmemo, memo, combobox, editbutton, lo que me gustaria es poder soltar en el form el componente y cuando en uno de estos componentes se entre se active las propiedades dentro del componente que quiero diseñar, cambiando el color de entrada y salida, la fuente de entrada y salida y la posibilidad de hacer un zomm al entrar.
|
Hola Jose Luis.
Cita:
El problema es que a partir de aquí hay cosas que no me quedan claras. Supongo que todo esto quieres hacerlo en diseño, pero no me acaba de quedar claro el tema de las fuentes, del zoom,... Estoy espeso y no acabo de ver a dónde quieres ir a parar... :o |
Gracias como siempre por tu rapida respuesta Neftali, aclaro lo que quiero hacer
el tema es que en vez de crear cada componente con las propiedades de color entrada y salida, zoom entrada y salida y fuentes para cuando entra y sales, pense sería mucho más practico colocar un componente en el form que al pasar de un componente a otro compuebe si esta entre los componentes anteriormente descritos y si se ha aproducido el evento OnEnter ó OnExit, si es adí podemos definir en un solo componente un color de entrada o Salida, Fuentes al estar en foco o no, zoom, o lo que se nos pueda ocurrir, por tanto menos código y mas facil de personalizar el tratamiento de los componentes del formulario. Claro esá es mi opinión. La elección de estos componentes es por que tiene estas propiedades y eventos. No es que tenga olvidado mis otros componentes, pero por ejemplo mi grid, esta parado con un aspecto increible (según mi opinón), pero he solicitado permiso al señro David Reed para el uso de parte de su código y aún no he recibido respuesta. Lo malo esque tengo como un par de agendas apuntadas con ideas y componentes, pero no tengo la capacidad suficiente como para aplicarlo, por eso tantas preguntas y el ir tan despacio. |
Ahora creo que me queda más claro.
Quieres "centralizar" el tratamiento de determinadas propiedades de los componentes del formulario en uno sólo. ¿Es eso? Creo que puede ser una buena idea. Yo añadiría que, de alguna manera pudieras definir qué componentes del formulario quieres controlar o cuales quieres ignorar, por si hay alguno al que no quieres cambiarle las propiedades. Puedes recorrer los componentes del formulario sin problemas con la propiedad Components. Para acceder a consultar y modificar las propiedades de los componentes que desees puedes utilizar RTTI. En mi página hay alguns ejemplos: Acceder a las propiedades de un componente vía RTTI Modificar propiedades de controles en ejecución utilizando RTTI |
echare un vistazo en cuanto pueda, e intentare, en cuanto a
Cita:
|
Cita:
Lo siguiente que se me ha oocurrido es una lista de Clases ignoradas (TEdit, TComboBox) y una lista de componentes ignorados (TEdit1, TCombobox5,...) Y por último ya se me ha ido la olla y se me ha ocurrido que se podría hacer (afinando mucho) un editor para esta propiedad donde se puedieran seleccionar visualmente los componentes que se quieren y los que no...:D:D |
Perdona pero yo soy un simple mortal :D:D:D, con poco tiempo para programar y perdona pero me ACOJONAS (y pido perdón por la palabra y su significado .
|
Yo también José Luis, yo también,... :D:D
La opción del TAG es la más sencilla y la más simple y para comenzar debe funcionar. Yo mismo es la que uso en el componente TSelectOnRuntime. Si necesitas ayuda con el componente, coméntamelo, el tema de RTTI me gusta e intentar estas cosas siempre es un buen reto. ;) |
tan pronto tenga un poco de tiempo empecare y publicare, de todas maneras buscando en el club me encontre con este tema y pienso que podiamos partir de aqui con el tema delas RTTI.
|
Ni me acordaba de ese hilo y mira que participé y todo.... :o (memoria de pez que tiene uno...) Parece que es un buen punto de partida.
|
Aquí esta recien salido del horno, pongo el código completo, espero os guste y quedo a la espera de las correciones que hagais:D
Espero que este al nivel adecuado y este lo suficientemente dosumentado. |
Vueno el componente funciona pero cuando pueda intentare mejorar cosas que no me gusta que haga, como darme un error si entro en el editor de propiedades del font, tener que poner a ciertos componentes que no queria que afectara un tag no valido, etc., así mismo intentare utilizar el agrupamiento de propiedades. etc, pero no se cuando me pondré con el.
|
Estaría bien que lo subieras al FTP José Luis, así será mças fácil encontrarlo (que no el hilo). Me alegro de que al final lo hayas terminado.
|
Precisamente estoy intentando corregir varios efectos que no me gustan, cuando termine ya lo subiré y publicare en el for.
Gracias Neftali. |
Lamento comunicar que las partes de Font y zoom no son implementables en este componente, después de días intentando mejorarlo, me topo con los siguientes problemas insalvables, por lo menos par mi, Ocurre que si seleccionamos por ejemplo un botón, se pierde el foco, pero ese no es el problema, este ocurre cuando, ponemos enable en false, donde estaba activo anteriormente el componente, sin haber podido salir del foco, o cuando ejecutamos un SetFocus, el componente no logra registrar, este cambio. De Todas maneras, reescribiré el componente, para que quede completo, con el control de diferentes componentes, etc.
|
Pues nada aquí esta el código como queda
y el enlace del Ftp archivo ScreenColorCenter.zip |
La franja horaria es GMT +2. Ahora son las 15:08:12. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi