Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

valor de checkbox

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: valor de checkbox Responder citando

hola amigos del foro
mi duda es la siguiente: tengo una aplicacion en builder en la cual creó checkbox en tiempo de ejecucion bueno mi duda es la siguiente:

Como se cuales checkbox son los que estan checkeados?
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

pues si te entendi como yo pienso, seria con un if:

Código:

if(nombredelcheckbox->Checked==true){

//Codigo si el checkbox està seleccionado

}else{

//Codigo si el chekbox no està seleccionado

}

_________________
No temas a las computadoras... teme a la falta de ellas...

Isaac Asimov
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

MIRA EL PROBLEMA AQUI ES QUE NO SE CUANTOS CHECKBOX VOY A CREAR ESO DEPENDE DE LA INFORMACION DE LA BASE DE DATOS Y PARECE QUE TU CODIGO FUNCIONA CUANDO LOS CHECKBOX SON ESTATICOS O FUERON CREADOS EN TIEMPO DE DISEÑO
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Hola Pepe.

Pero los debes crear con un nombre no? Entonces en el momento de volver a llamarlos, utilizas esos nombres para comprobar si estan chequeados o no.

No sera por ese lado?

Espero tus comentarios.

Gracias!
_________________
Dios es real... a menos que se declare entero!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

En si es relativamente sencillo, te explico con pasos

1.- primero que nada debes crear una funcion que se "asigne" al envento OnClick de cada ChecBox que estas creando la funcion debe ser similar a esta como es solo un ejemplo muestra un mensaje cuando presionas sobre el chekbox, en este caso la funcion se llama MiClick

antes que nada debes declararla dentro del archivo .h, puede ir en la parte privada si solo funciona en el form o en la parte publica si quieres acceder por fuera del form

Código:
private:   // User declarations
   void __fastcall MiClick(TObject *Sender);


Dentro del Archivo .cpp, creas el cuerpo de la funcion
Código:

void __fastcall TForm::MiClick(TObject *Sender)
{
   TCheckBox *pCB = dynamic_cast<TCheckBox*>(Sender);
   if(pCB->Checked)
   {
      ShowMessage("Presionante sobre el checked de Nombre: "+pCB->Name);
   }


(codigo corregido y correcto)

2.- he puesto un boton que genera 10 checkbox, de la siguiente manera, solo hay que mencionar que estoy "redireccionando" el evento OnClick de cada CheckBox a mi funcion antesmencionada arriba.

Código:
void __fastcall TForm::Button1Click(TObject *Sender)
{
   int pos=10;
   for(int i=0;i<10>Parent = this;
      pChec->Top =pos;
      pChec->Name = "Caja"+IntToStr(i);
      pChec->OnClick = MiClick;
      pos+=30;
   }
}
//---------------------------------------------------------------------------


y bien cuando presiones dentro de cualquier checkbox, te presenta un mensaje donde te indica que checkbox, es el que presionaste.


saludos.
_________________
Cool


Ultima edición por Cesar C. Salazar Gonzalez el Lun 07 May, 2007 2:55 am, editado 2 veces
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Hola Cesar no se si estoy en lo correcto pero tu codigo parece que se hubiera cortado lo mismo me paso cuando estaba respondiendo un mensaje y lo que me dijeron es que desactive la opcion, o mejor dicho que HABILITE LA OPCION "Deshabilitar HMTL en este mensaje", no hice la prueba si funciona pero haber hay nos comentas... un saludo bye
_________________
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor Yahoo Messenger MSN Messenger
Mensaje    Asunto: Responder citando

pues dire que no he movido nada del foro, asi como entra asi lo mantengo, es mas nunca toco las opciones, solo me dedico a responder sin la necesidad de moverle al codigo, jejej
bueno algo ha de haber pasado, he corregido el codigo y sigue haciendo lo mismo
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Hola Cesar
Estoy haciendo una pequeña aplicación y me he liado con la creación de CheckBox dinámicos. Por algún motivo no acabo de pillar el punto
¿Podrías intentar poner el código que falta?
for(int i=0;i<10>Parent = this;


Gracias

Saludos, Bosoft

Edito para que veas donde está el error, porque solo me sale el primer check

for(int i = 0 ; i < 10 ; i++)
{
TCheckBox *col = new TCheckBox ( selprint );
col->Parent=origen; // chek ya creado en tiempo de diseño
col->Visible=true;
col->Top =i*20;
col->Left=35;
col->Update();
col->Caption="col"+IntToStr(i);
col->Name = "col"+IntToStr(i);
}
PD: El code no funciona y se come lineas

Gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

resuelto:
me había encaprichado con col->Parent=origen; cuando lo correcto es col->Parent=this;

Gracias y disculpas por la torpeza

Saludos, Bosoft
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.