| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Peruzzi Invitado
|
Publicado: Sab 07 Jun, 2003 7:10 pm Asunto: Urgente |
|
|
A ver si alguien me puede ayudar porque es que creo un TImagen de forma dinamica y quiero que esa imagen que creo en el evento onclick me relice lo que le marco en una funcion.lo hago de la siguiente manera:
//Creo la imagen
TImage *Im1=new TImage(Sesion);
Im1->Parent=Sesion;
Im1->Left=160;
Im1->Top=32;
Im1->Width=209;
Im1->Height=145;
Im1->Stretch=true;
Im1->Enabled=true;
//Creo el borde
TShape *B1=new TShape(Sesion);
B1->Parent=Sesion;
B1->Left=152;
B1->Top=24;
B1->Width=225;
B1->Height=161;
B1->Pen->Style=psSolid;
B1->Pen->Width=4;
B1->Pen->Color=clBlack;
B1->Brush->Color=clWhite;
B1->Brush->Style=bsClear;
Sesion->Label1->Caption="Operante simple";
//Calculo aleatoriamente el estimulo a mostrar
randomize();
int Total=Alumno->TAEst->RecordCount;
int Registro=random(Total+1);
while (Registro==0)
Registro=random(Total+1);
Alumno->TAEst->RecNo=Registro;
try{
Im1->Picture->LoadFromFile(ExtractFilePath(Application->ExeName) +"\Imagenes\\" +Alumno->TAEstId_estimulo->Value+Alumno->TAEstEstimulo->Value);
//NO FUNCIONA BIEN
Im1->OnClick=Acierto;
}catch(...){
Application->MessageBox("No es posible mostrar este archivo","Error",MB_OK|MB_ICONEXCLAMATION);
Im1->Picture=NULL;
}
Perono me hace nada cuando hago click sobre la imagen que cree.¿que tengo que hacer?es muy urgente.que tengo que hacer para que me haga cuando hago click sobre la imagen me haga lo que le mando en la funcion que le asigno??? |
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Dom 08 Jun, 2003 8:17 am Asunto: |
|
|
Yo modificaría las siguientes líneas así:
TImage *Im1=new TImage(this);
Im1->Parent=Form1;//o nombre del formulario que la contiene.
TShape *B1=new TShape(this);
B1->Parent=Form1;//o nombre del formulario que la contiene.
Im1->OnClick=Acierto();
//--------------------------------------------
Im1->Picture->LoadFromFile(ExtractFilePath(Application->ExeName) +"\Imagenes\\" +Alumno->TAEstId_estimulo->Value+Alumno->TAEstEstimulo->Value);
/*En cuanto a este LoadFromFile() asegúrate de que cargas una ruta completa a un fichero de imagen incluyendo la doble barra \\ separadora de directorios y archivos, ya que estoy viendo ahí una concatenación de dos campos de una tabla que no me parece muy lógica.*/
//Suerte. _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
Peruzzi Invitado
|
Publicado: Dom 08 Jun, 2003 11:11 am Asunto: Uregente |
|
|
| No me vale porque si hago Im1->OnClick=Acierto();me da error de parametros ñporlo que hay que ponerlo sin los ().Por favor que alguien me ayude. |
|
| Volver arriba |
|
 |
Marky Master

Registrado: 28 Dic 2002Mensajes: 251Ubicación: Las Rozas - Madrid (España)
|
Publicado: Dom 08 Jun, 2003 12:46 pm Asunto: |
|
|
¿Porque no le asignas el evento al crear la imagen? Tugui te ha dado parte de la solución:
| Código: |
TImage *Im1=new TImage(this);
Im1->Parent=Form1;
Im1->OnClick=Acierto;
...
...
|
Así debería funcionar. |
|
| Volver arriba |
|
 |
Peruzzi Invitado
|
Publicado: Dom 08 Jun, 2003 1:22 pm Asunto: Urgente |
|
|
| Ya hice eso y sigue sin funcionarme joer que coño pasara toy loco |
|
| Volver arriba |
|
 |
|