Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
crear eventos en tiempo de ejecucion en delphi
Enviado por Bicugo el día 24 de noviembre de 2003
La cosa es que tengo un array de checkbox y me gustarñia saber como puedo añadirles eventos a esos checkbox.
Re: crear eventos en tiempo de ejecucion en delphi
Enviado por Victor Yañez el día 24 de noviembre de 2003
Hola, puedes seguir los siguientes pasos:
1.- Declarar el evento que quieres generar en ejecucion en el Unit1.h de tu form, en este caso te dare el ejemplo con el evento OnClick de los CheckBox (El evento que declares tiene que recibir los mismos parametros que uno hecho en diseño!!!!), de esta forma:
for(int i=0;i<15;i++)
{
Arreglo[i] = new TCheckBox(this);
Arreglo[i]->Parent=this;
Arreglo[i]->Top = i*10;
Arreglo[i]->Left = 0;
Arreglo[i]->Show();
//AQUI LE INDICAS Q EN ONCLICK HAGA LO DE ARREGLO CLICK
Arreglo[i]->OnClick = ArregloClick;
Arreglo[i]->Tag = i+1;
}
}
3.- Luego haces el cuerpo de la funcion en el Unit1.cpp de tu form:
void __fastcall TForm1::ArregloClick(TObject *Sender)
{
int cual =((TCheckBox*)Sender)->Tag;
switch(cual)
{
case 1:
ShowMessage("Click en CheckBox : "+IntToStr(cual));
break;
case 2:
ShowMessage("Click en CheckBox : "+IntToStr(cual));
break;
case 3:
ShowMessage("Click en CheckBox : "+IntToStr(cual));
break;
case 4:
ShowMessage("Click en CheckBox : "+IntToStr(cual));
break;
case 5:
ShowMessage("Click en CheckBox : "+IntToStr(cual));
break;
case 6:
ShowMessage("Click en CheckBox : "+IntToStr(cual));
break;
case 7:
ShowMessage("Click en CheckBox : "+IntToStr(cual));
break;
}
}
Y eso, si te fijas identifico el CheckBox que ha sido clikeado por medio de su propidedad Tag, a la cual le asigne un numero mientras iba creando el arreglo.
Re: Re: crear eventos en tiempo de ejecucion en delphi
Enviado por bicugo el día 26 de noviembre de 2003
Hola, gracias por tu respuesta, pero no entiendo lo que tengo que hacer, uya que no estoy muy rentendido en delphi.
Aunque por lo que veo esto es C++ y no delphi, ya que delphi no tiene void y los archivos no son cpp.
Re: Re: Re: Re: crear eventos en tiempo de ejecucion en delphi
Enviado por bicugo el día 27 de noviembre de 2003
Hola, tengo un problema, que es que nunca he programado en C++ Builder, así que no se como funciona.
¿ Que es el arreglo de una función ?
¿ Donde está eso en delphi ?
Ya que lo único que veo en delphi es la declaraciñon del evento dentro del type y luego en implementation la implementación de la función.
Me estoy mirando un manual de C++ Builder para ver si me entero de que hace cada cosa y así poder pasarlo a delphi.
Re: crear eventos en tiempo de ejecucion en delphi
Enviado por Williams el día 7 de febrero de 2006
Oye, yo desarrollo en C++ Builder y sabes, lo unico que tienes que hacer es asignar a cada elemento de tu arreglo el CheckBox correspondiente y de esa manera puedes referenciar al CheckBox que quieras.
Por ejemplo: TCheckBox * MyArray[10];
Luego: MyArray[0]=CheckBox1; MyArray[1]=CheckBox2 ...... y asi sucesivamente. hasta llenar los diez CheckBox. Puedes tener los que quieras. A lo que voy es que con esto, despues podras referenciar al CheckBox que quieras por medio del arreglo.
Ej: MyArray[5]->Click();
para llamar el evento click del CheckBox5.
Solo traducelo al Delphi xq yo no conozco ese entorno.
Saludos.