Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-09-2011
FENIXadr FENIXadr is offline
Miembro
 
Registrado: may 2010
Ubicación: Córdoba - Cba. - Argentina
Posts: 102
Poder: 14
FENIXadr Va por buen camino
Evento OnMouseWheel no me responde en un Componente.

Hola a todos .. he buscado este tema en el foro pero no he encontrado... por la red tampoco he encontrado lo que busco.. y mi problema es este..
Estoy haciendo un componente derivado de TCustomControl, tengo todos los eventos del mouse además de otros eventos.. Creo mis propias rutinas para MouseMove, MouseDown, MouseUp, MouseWheel, las asigno a los eventos y aqui comienza el problema :
MouseMove, MouseDown, MouseUP funcionan a la perfeccion pero MouseWheel no hay forma de que funcione.. no entiendo que pasa porque hago lo mismo con los otros eventos que si funcionan..
Los eventos MouseWheelUp, MouseWheelDown, Enter, Exit... tampoco funcionan..

alguna idea???
Responder Con Cita
  #2  
Antiguo 22-09-2011
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Buscando un poco en internet, parece que una posible solución sería "dar el foco" a tu componente en el evento "OnMouseEnter", de manera que, a partir de ahí, podrá ya recibir los mensajes apropiados para manejar el "OnMouseWheel". Prueba a ver. Yo lo leí aquí, entre otros sitios.
Responder Con Cita
  #3  
Antiguo 23-09-2011
FENIXadr FENIXadr is offline
Miembro
 
Registrado: may 2010
Ubicación: Córdoba - Cba. - Argentina
Posts: 102
Poder: 14
FENIXadr Va por buen camino
Hola dec... muchisisisisisisiisisiisimas gracias... lo pude solucionar pero no exactamente como decia el link... (obviamente que la idea la saque de ese link. jeje )
En el link decia de capturar el evento OnMouseEnter, para luego hacer el foco en nuestro componente, la cosa es que dicho evento no existe como tal.. asi que lo único que tube que hacer es Poner el foco en el evento OnMouseMove, que ese evento si funcionaba.

ej. :

Código Delphi [-]

.....
........

Constructor TMiComponente.Create (AOwner : TComponent);
begin
   Inherited Create (AOwner);

  ........
  ....

  OnMouseMove := MouseMove;
  OnMouseWheel := MouseWheel;

  ..... 
  .......
end;

........
..........
.....

procedure TMiComponente.MouseMove (Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  SetFocus;      // Aca ponemos en foco nuestro componente..
  .......
  ......
  .........
end;

......
.......


procedure TMiComponente.MouseWheel (Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
  ...........
  .....
  .......
end;

Una vez mas muchisimas gracias... el tema se puede dar por terminado..
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Componente que ejecute un evento de un componente asociado r_e_g_2007 OOP 4 27-06-2011 19:15:48
Evento OnActivate no responde Hamizura Varios 2 31-12-2010 18:51:24
OnMouseWheel se me ejecuta 3 veces gluglu Varios 2 06-04-2007 01:24:34
OnMouseWheel en TPanel metalfox6383 Varios 3 03-07-2006 20:15:15
No me responde un Evento de Windows Media player Renees Varios 1 03-09-2005 09:15:45


La franja horaria es GMT +2. Ahora son las 09:06:25.


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