 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Ciklon Cdt

Registrado: 27 Nov 2002Mensajes: 22Ubicación: Argentina
|
Publicado: Sab 26 Jun, 2004 3:31 pm Asunto: Diferenciar Objetos Image en una funcion |
|
|
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 |
|
 |
jaquemate Lt Cmdr


Registrado: 30 Sep 2002Mensajes: 110
|
Publicado: Sab 26 Jun, 2004 4:51 pm Asunto: |
|
|
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 |
|
 |
alfredo Master

Registrado: 13 Oct 2003Mensajes: 246Ubicación: Valencia Venezuela
|
Publicado: Sab 26 Jun, 2004 5:15 pm Asunto: |
|
|
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 |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|