====Substituir evento OnMouseWheel do componente TDbgrid==== ===Descrição=== Quando utilizamos o evento OnMouseWheel para executar algum método, o componente apresenta um atraso na execução, não realizando o procedimento sobre o registro desejado, a função abaixo apresenta uma alternativa para esse evento atualizando o registro no momento exato que o mouse é rolado. ===Observações=== * O componente dbgrid1 foi utilizado como exemplo, em desenvolvimento ele deve ser substituído pelo seu dbgrid. * A chamada da procedure deve ser realizada no evento OnShow do formulário e deve ser feita da seguinte forma dbgrid1.WindowProc := rolarMouse; ==Código== type CapturaEvento = class(TControl); procedure rolarMouse(var Message: TMessage); var vQuanto : short; begin if (Message.Msg = WM_MOUSEWHEEL) then begin vQuanto := HiWord(Message.WParam); vQuanto := vQuanto div 120; dbgrid1.DataSource.DataSet.MoveBy(-vQuanto); //Seus Metodos devem ser Inseridos Neste espaço //Fim dos Metodos end else CapturaEvento(dbgrid1).WndProc(Message); end;