Dúvida com barra de rolagem no DBGrid
Colegas;
Já procurei em tudo quanto é fórum e não encontrei uma solução para esta dúvida.
Tem como configurar a barra de rolagem do DBGrid para que ao rolar ela para baixo ou para cima, o conteúdo do grid vá rolando junto. Assim como no Word por exemplo?
Já procurei em tudo quanto é fórum e não encontrei uma solução para esta dúvida.
Tem como configurar a barra de rolagem do DBGrid para que ao rolar ela para baixo ou para cima, o conteúdo do grid vá rolando junto. Assim como no Word por exemplo?
Vispo
Curtidas 0
Respostas
Franklin.farias
02/10/2007
Barra de rolagem funciona. O que vc deve estar querendo é com o scroll do mouse, não é?
Acho que não há como fazer isto em um TDBGrid.
Existem outros componentes que fazem isto (RxDBGrid), pode ser um solução.
Mas caso queria usar um TDBGrid seria necessário criar outro componente herdado de TDBGrid e adicionar os eventos para fazer o scroll do mouse mover os dados.
Código a ser adicionado:
Acho que não há como fazer isto em um TDBGrid.
Existem outros componentes que fazem isto (RxDBGrid), pode ser um solução.
Mas caso queria usar um TDBGrid seria necessário criar outro componente herdado de TDBGrid e adicionar os eventos para fazer o scroll do mouse mover os dados.
Código a ser adicionado:
function TMDSDBGrid.DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean; var Distance: Integer; begin Result := False; if Assigned(OnMouseWheelDown) then OnMouseWheelDown(Self, Shift, MousePos, Result); if not Result then begin if not AcquireFocus then Exit; if ssCtrl in Shift then Distance := VisibleRowCount - 1 else Distance := 1; if DataLink.Active then Result := DataLink.DataSet.MoveBy(Distance) <> 0; end; end; function TMDSDBGrid.DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; var Distance: Integer; begin Result := False; if Assigned(OnMouseWheelUp) then OnMouseWheelUp(Self, Shift, MousePos, Result); if not Result then begin if not AcquireFocus then Exit; if ssCtrl in Shift then Distance := VisibleRowCount - 1 else Distance := 1; if DataLink.Active then Result := DataLink.DataSet.MoveBy(-Distance) <> 0; end; end;
GOSTEI 0
Vispo
02/10/2007
[b:d8e764bf43]franklin.farias[/b:d8e764bf43], o problema do scroll do mouse eu já resolvi.
O que eu quero fazer é o seguinte: quando eu rolar a barra clicando com o mouse e arrastando, quero que o grid acompanhe a barra. Assim como no Internet explorer, Word, etc..
O que eu quero fazer é o seguinte: quando eu rolar a barra clicando com o mouse e arrastando, quero que o grid acompanhe a barra. Assim como no Internet explorer, Word, etc..
GOSTEI 0