FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
checkBox ayuda
Hola amigos estoy haciendo un formulario donde estoy utilizando 6 checkbox y tengo uno donde tiene la opcio de Todo y quiero si seleccionan Todo que se seleccionen los demas checkbox como puedo hacer esto gracias de antemano
|
#2
|
||||
|
||||
Prueba lo siguiente y nos cuentas como te va :
Código:
Integer i; for (i = 0; i < this->ComponentCount; i++) { dynamic_cast<TCheckBox*>(Components[i])->Checked = True; }
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#3
|
|||
|
|||
Genial me funciono, gracias por tu pronta ayuda
|
#4
|
||||
|
||||
Que bien , me alegra... aunque mirandolo mejor, si en el futuro necesitas que al presionar dicho CheckBox también se inhabiliten los demás, podrías usarlo así:
Código:
Integer i; for (i = 0; i < this->ComponentCount; i++) { dynamic_cast<TCheckBox*>(Components[i])->Checked = CheckBox1.Checked; }
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#5
|
||||
|
||||
Perdonar un inciso. Puede ocurrir un error si un componente Components[i] no es del tipo TCheckBox siendo, entonces, dynamic_cast<TCheckBox*>(Components[i]) un puntero nulo. Si ocurre el resto del código no puede funcionar. Esto puede suceder si en el formulario hay mas controles en la lista de componentes que no sean TCheckBox.
Yo para evitar el error, y hacer el código mas seguro, compruebo la no nulidad del puntero: Código:
for (int i = 0; i < this->ComponentCount; i++) { TCheckBox* Check = dynamic_cast<TCheckBox*>(Components[i]); if(Check) Check->Checked = CheckBox1.Checked; } Última edición por escafandra fecha: 12-06-2008 a las 20:50:15. |
#6
|
||||
|
||||
Cita:
Cierto, de hecho muy interesante, yo no tenia idea que se podían declarar punteros de esa forma en C++ Builder... por otro lado... quizá también sea interesante la siguiente solución que simplemente reemplaza dynamic_cast por el reinterpret_cast, haciendo uso de los distinto tipos de cast que tiene C++ Builder: Código:
Integer i; for (i = 0; i < this->ComponentCount; i++) { reinterpret_cast<TCheckBox*>(Components[i])->Checked = CheckBox6->Checked;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
checkbox | Lupita | Varios | 6 | 07-04-2008 15:12:53 |
ayuda error mysql y checkbox | solidus128 | Conexión con bases de datos | 5 | 24-08-2007 23:25:00 |
ayuda con el checkbox | Debian | Conexión con bases de datos | 4 | 11-04-2005 18:59:04 |
ayuda con el checkbox | Debian | Conexión con bases de datos | 1 | 11-04-2005 09:45:24 |
checkbox | superhopi | OOP | 3 | 12-05-2003 10:32:46 |
|