Fórum Dúvida com barra de rolagem no DBGrid #346897
02/10/2007
0
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
Curtir tópico
+ 0
Responder
Posts
03/10/2007
Franklin.farias
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;
Responder
Gostei + 0
03/10/2007
Vispo
[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..
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)