Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-07-2005
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Poder: 19
elcigarra Va por buen camino
Transparencias reales...

Tengo un .bmp con zonas transparentes en un form. Uso, p.ej. un TImage. Tienen idea como hacer para que un componente que este atrás de las zonas transparetes reciba mensajes del mouse??. Yo ya probé definiendo una región, pero como el control (TImage) es rectangular, el mensaje cm_mouseenter de windows lo hace en el canvas y no en la región. Haciendo click en un botón que esté debajo este ni se entera. De hecho esto pasa con todos los controles transparentes, por ejemplo en TBevel. Si está arriba, lo de atrás no recibe nada.
Responder Con Cita
  #2  
Antiguo 12-07-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por elcigarra
Yo ya probé definiendo una región, pero como el control (TImage) es rectangular, el mensaje cm_mouseenter de windows lo hace en el canvas y no en la región.
Mmmm.. el canvas no recibe mensajes, si la regino no es rectangular, no recibirás mensajes fuera de la región definida.

Hace poco que hice un componente en 5' a un compañero, que hace eso. El programaba en VB.NET y yo le hice este en un ratito, solo para callarlo un rato . Te lo subí aquí, lo llamé RegionPanel (Mal llamado), no lo he utilizado solo soporta Bitmaps.
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 13-07-2005
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Poder: 19
elcigarra Va por buen camino
gracias...

Gracias, Federico. Hoy de noche cuando mis hijos que estan de vacaciones se duerman creo que me va a dar la energía para probarlo. Todo esto iba a la pregunta que puse en el foro de OOP y que nadie contestó. De repente puedo adaptar tu respuesta a ese problema.

Para que te hagas una idea medio simple de lo que quiero hacer, fijate el codigo de este botón. Si ponés uno de estos botones mitad abajo del otro, cuando hacés click fuera de la elipse (pero dentro del canvas rectangular) del que está arriba, el que está abajo ni se entera.
Responder Con Cita
  #4  
Antiguo 13-07-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
En ese botón se crea una región, pero solo se la utiliza para consultar los mensajes WM_LBUTTONDOWN y WM_LBUTTONUP.
Si debajo de la línea:
Código Delphi [-]
FKRgn := CreateEllipticRgn(FBtnPoints[1].x,FBtnPoints[1].y,FBtnPoints[2].x,FBtnPoints[2].y);
agregas:
Código Delphi [-]
SetWindowRGN(Handle, FKRgn, False);
Puedes prescindir de capturar esos dos mensajes. Por contrapartida para Windows es mucho mas costoso trabajar con regiones irregulares que con regiones regulares (Rectaguulares)

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:08:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi