Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-03-2008
Avatar de chinosoft
chinosoft chinosoft is offline
Miembro
 
Registrado: nov 2006
Posts: 28
Poder: 0
chinosoft Va por buen camino
Question Desactivar el scroll del mouse

Holas tengo una consulta:

¿Hay alguna forma de desactivar el scroll del mouse, asi cuando estoy en un DBGrid no me cambia de renglon?.

desde ya Muchas Gracias
__________________
:D chinosoft - only
Responder Con Cita
  #2  
Antiguo 28-03-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
No lo he probado, pero una forma eficaz sería interceptar el mensaje WM_MOUSEWHEEL y evitar su actuación. Lo puedes interceptar en la funcion miembro
Código:
virtual void __fastcall WndProc(Messages::TMessage &Message);
La sobrecargas, e interceptas el mensaje de forma que si se produce no llame a WndProc de la clase base.

Código:
virtual void __fastcall WndProc(Messages::TMessage &Message){
    .
    .
    else if(Message.Msg == WM_MOUSEWHEEL) {
       if(NoQuieroMouseWhell) return;
    }

    ::WndProc(Message); // WndProc de la clase base
}
Este mensaje solo existe desde WindowsNT

Revisa también este mensaje, no de la API directamente sino del mismo Builder. Se llama en WndProc cuando se mueve la rueda del ratón:
Código:
DYNAMIC void __fastcall MouseWheelHandler(Messages::TMessage &Message);
Espero haberte ayudado. Si te funciona dínoslo, no lo he probado y me gustaría saberlo.

Saludos.
Responder Con Cita
  #3  
Antiguo 28-03-2008
Avatar de chinosoft
chinosoft chinosoft is offline
Miembro
 
Registrado: nov 2006
Posts: 28
Poder: 0
chinosoft Va por buen camino
Disculpa, pero estoy medio perdido de tanta información...

y no soy un experto pero lo voy a probar y te cuento
__________________
:D chinosoft - only

Última edición por chinosoft fecha: 28-03-2008 a las 21:14:08.
Responder Con Cita
  #4  
Antiguo 29-03-2008
Avatar de chinosoft
chinosoft chinosoft is offline
Miembro
 
Registrado: nov 2006
Posts: 28
Poder: 0
chinosoft Va por buen camino
Smile Creo que esta

Al formulario le agregue un TAppicationEvents y en el evento OnMessage escribi lo siguiente.

Código:
void __fastcall TFrmPanelCliente::AppEveMessage(tagMSG &Msg, bool &Handled)
{
    int i;
    if (Msg.message == WM_MOUSEWHEEL){

     Msg.message = WM_KEYDOWN;
     Msg.lParam = 0;
     i = Msg.wParam;

     if (i > 0) {

       Msg.wParam = VK_UP;

     }else{

       Msg.wParam = VK_DOWN;

     }

     Handled = true;

    }
}
y listo, no respondio mas el scroll.

Muchas Gracias escafandra!
__________________
:D chinosoft - only
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
desactivar usb anubis Varios 2 22-04-2007 03:57:09
Desactivar MSN jorodgar Varios 6 19-05-2005 14:21:13
La Velocidad del mouse LidisMendoza Varios 0 18-03-2005 03:40:39
mouse AngelMarvin Windows 2 20-07-2004 07:16:35
desactivar Alt+TAB en xp M@rcos API de Windows 2 15-07-2003 17:00:24


La franja horaria es GMT +2. Ahora son las 17:43:14.


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