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.