![]() |
desactivar controles de un form al mostrar...
Hola
Quiziera saber de qué forma puedo escribir un procedimiento dentro de un Form, de manera que cambie la propiedad "enabled" de todos sus controles a falso (botones, dbEdits, etcétera). Intenté recorrer entre los componentes del Form y los del dataSource, pero no se de que forma puedo identificar los componentes visuales y los no visuales... El sentido de ésto es que el form muestra los datos de una tabla(DB), y en el caso que se muestre la tabla en estado dsBrowse dependiendo de donde se llame a Form.show necesito que sus controles internos esten habilitados... o no. Necesitaría implementar algo así como un form.DisableVisibleControls. Una solución que se me había ocurrido es poner un frame dentro del form y poner todos los controles ahi, entonces dependiendo el contexto lo pongo a disabled o enabled al mostrar, pero preferiría hacerlo por código.... Alguien algúna sugerencia? Saludos.- |
|
|
Cita:
Es sencillo el ejemplo y funcional, pero tendrías que estar preguntando por cada tipo de componente existente en tu formulario. Sin embargo con RTTI te evitas eso y tu código es más eficiente. |
Gracias!!!
|
De ésta forma me funcionó de la forma que quiero:
|
Hola, por si aun no lo has resuelto : http://www.clubdelphi.com/foros/show...ighlight=brick
|
gracias!
tu código me fue de gran inspiración :) saludos |
Estudiaré también RTTI, es interesante (Y)
|
Fijate que si usas la propiedad Controls en lugar de Components, recorres solamente los controles, y no tenes que hacer elif (Components[i] is Tcontrol) then
Saludos. |
de nada hombre ;)
|
La franja horaria es GMT +2. Ahora son las 09:51:51. |
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