FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Desabilitar algunos componentes del formulario
He estado buscando como desabilitar algunos componentes del formulario (de momento los TEdit) y solo he encontrado algo parecido pero con Labels. He intentado ajustarlo para que me funcione con los Edits, pero no habido forma de hacerlo funcionar.
Me explico: dentro del formulario tengo varios paneles con sus componentes correspondientes y lo que quiero conseguir es que cuando el formulario entre en el estado de Consultas, no se pueda tener acceso a unos componentes determinados. ¿Alguna sugerencia de como puedo conseguirlo?. procedure TFrm1.DesactivarEdit; var i:Integer; begin for I := 0 to ControlCount - 1 do if Controls[i] is TEdit then TEdit(Controls[i]).Enabled := False; end; Última edición por Thoma fecha: 03-05-2011 a las 16:41:31. |
#3
|
||||
|
||||
te he puesto el codigo que tengo y algo debo de tener mal porque no me hace ni caso
|
#4
|
||||
|
||||
ohh ya
prueba de esta manera
__________________
Dulce Regalo que Satanas manda para mi..... |
#5
|
||||
|
||||
perdona, pero no acabo de entender el porque "(Form :TForm)"
y para llamar a la procedure?.. tendria que poner el nombre del formulario ? |
#6
|
||||
|
||||
es que el procedimiento que te he colocado funciona mas o menos de esta manera
este procedimiebnto lo tengo en una unidad donde tengo librerias y procedimientos standard
__________________
Dulce Regalo que Satanas manda para mi..... |
#7
|
||||
|
||||
me he puesto el procedimiento en la unidad donde tengo las funciones y las procedures.
hago la llamada BloquearEdits(FrForm1); y me da el siguiente error: [DCC Error] FrForm1.pas(238): E2029 '.' expected but ')' found |
#8
|
||||
|
||||
Cita:
El código que adjuntaste funciona bién. Lo único que podría decir es que el cast es innecesario (pero igual funciona) ya que la clase TControl tiene la propiedad Enabled, es decir que podrías hacer:
Si querés que sólo los TEdits y no sus descendientes se desactiven sería:
El código de oscarac también es correcto y funcionará sin errores, revisá si copiaste bién. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 03-05-2011 a las 19:01:54. |
#9
|
||||
|
||||
Tengo que daros las gracias tanto a oscarac como a ecfisa.
Algo debo de tener mal porque no me funciona. Poniendo un punto de ruptura en el bucle me dice que el ControlCount = 1 y parece ser que no es un edit por que se sale de inmediato del bucle. ¿Tendra algo que ver que los TEdit esten dentro de paneles? |
#10
|
||||
|
||||
podrias colocar el codigo que estas usando?
no te olvides de colocar [delphi] [ /DELPHI] (sin el espacio despues del corchete)
__________________
Dulce Regalo que Satanas manda para mi..... |
#11
|
||||
|
||||
este es el codigo que estoy usando el de oscarac me parece mas eficiente porque me podria servir para otros formularios pero no acabo de cogerle el truco. |
#12
|
||||
|
||||
pero esta claro...
imagina que tienes un formulario llamado frmDatos (ojo el nombre del form no el nombre de la unidad) dentro de ese formulario tienes varios edits entonces lo unico que haces es
y debe funcionar bien que problemas tienes
__________________
Dulce Regalo que Satanas manda para mi..... |
#13
|
||||
|
||||
Al compilar me saca este error de incompatibilidad (algo se me escapa de las manos). el nombre del formulario es "frmFormulario" si pongo: BloquearEdits(frmFormulario); me dice el siguiente error: E2003 Undeclared identifier: 'FrmFormulario' Última edición por Thoma fecha: 03-05-2011 a las 20:35:43. |
#14
|
||||
|
||||
Por supuesto que si. Al estar dentro de un TPanel el Parent de los Edits no es el form si no el TPanel, en ese caso sería:
Llamada:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 03-05-2011 a las 20:39:21. |
#15
|
|||
|
|||
Cita:
la llamada deberia de ser
que es el nombre de el formulario. |
#16
|
||||
|
||||
ejemplo
te pongo un ejemplo de como lo uso cuando tengo que eliminar un dato
y cuando se activa el form.... todos los edits estan deshabilitados
__________________
Dulce Regalo que Satanas manda para mi..... |
#17
|
||||
|
||||
Buenoooo... por fin.
Gracias ecfisa, de este modo me ha funcionado, repito !!!Gracias¡¡¡ Beginner01, lo habia probado de muchas formas pero ahora ya se que la culpa la tenia el dichoso Tpanel. ¡¡¡ gracias a todos por vuestra paciencia !!! oscarac. Gracias a ti tambien. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
problemas con Delphi XE y algunos componentes | Paulao | Varios | 3 | 22-03-2011 13:14:45 |
Algunos componentes desaparecen... | mlara | Debates | 2 | 03-05-2010 19:39:18 |
Dudas con Algunos Componentes! | eddg | Varios | 16 | 08-10-2007 23:21:54 |
Duda con algunos componentes | bosterito | Varios | 3 | 01-04-2007 01:23:11 |
Habilitar/Desabilitar Componentes | DANY | OOP | 0 | 02-06-2006 01:13:47 |
|