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 

Diferenciar Objetos Image en una funcion

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Diferenciar Objetos Image en una funcion Responder citando

Tengo varios objetos imagen en mi form, un popupmenu y quisiera usar el mismo popupmenu, mi problema es que no encuentro la manera de en mi funcion, diferenciar una imagen de otra. Si alguien puede darme una guia...
Gracias de antemano
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

No he entendido muy bien tu pregunta, pero creo que debes hacer que la propiedad PopupMenu de los TImage sea el control TPopUpMenu que tienes en tu formulario. Luego, sólo tienes que escribir código en los eventos de cada TImage. De esta forma, cuando se abra el menú llamará al evento correspondiente a cada TImage.

Si lo que quieres hacer es controlar el menú en el evento OnPopup del TPopupMenu, podrías diferenciar los TImage por su nombre. Por ejemplo:

Código:
void __fastcall TForm1::PopupMenu1Popup(TObject *Sender)
{
  TImage* imagen = (TImage*) Sender;

  if (imagen->Name == "Image1")
    //código asociado al Image1
  else if (imagen->Name == "Image2")
    //código asociado al Image2
}


Un saludo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Hola, se necesita habiendo varias imagenes que comparten el mismo
PopUpMenu, saber cual es la activa (la ultima con la que interactuo el
usuario) por lo general lo mas apropiado seria utilizar el evento OnMouseDown de las Imagenes.

Ejemplo:
Primero Declara en la seccion private del *.h lo siguente:
Código:
private:
TImage *ImagenActual;

Coloca una TImage en el formulario y en el inspector dobleclick sobre
onMouseDown para crear la respuesta al evento, esta sera:
Código:
void __fastcall TfDesignForm::Image1Down(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
ImagenActual= (TImage *)Sender;
}

Elimina la imagen del form, la respuesta al evento no se borrara, luego
si las imagenes las tienes definidas en tiempo de diseño, pincha una por una y elige en el inspector Image1Down como respuesta al OnMouseDown
asi cuando den click para desplegar el popup ImagenActual apuntara a
esa imagen en particular. Si las imagenes son creadas en tiempo de ejacucion debes asignarles la respuesta al evento al momento de crearlas
Código:
Image->OnMouseDown=Image1Down;

Por ultimo coloca un PopupMenu y en el Caption "¿Quien Soy?, en la respuesta al click:
Código:
ShowMessage(ImagenActual->Name);
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
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.