Bloquear a barra de rolagem do DBGRID

Delphi

08/10/2004

senhores ...ha muito tempo parado da nisso::::Como fazer para bloquer a barra de rolagem de um dbgrid mesmo ele estando em modo de inserção.obrigado


Marco Salles

Marco Salles

Curtidas 0

Respostas

Marco Salles

Marco Salles

08/10/2004

Desculpe senhores....escrevi erradamente ´bala´ de rolagem :oops: ..diga-se de passagem que me refiro a ´BARRA de rolagem´ e claro :lol:



Marco Salles,
[b:e3d18aa74d]O título do seu tópico foi corrigido![/b:e3d18aa74d]

Sandra/Moderação


GOSTEI 0
Fabio.hc

Fabio.hc

08/10/2004

Tente assim:

[b:8b1bcd8c09]Removendo a barra de rolagem vertical do DBGrid[/b:8b1bcd8c09]
Para remover a barra de rolagem vertical de componente TDBGrid, você precisa apenas criar um novo componente herdado da classe TDBGrid e reescrever o método paint.

No método Paint você usará a API do Windows SetScrollRange definindo o tamanho máximo e mínimo do scroll para zero (isto desabilitará a exibição da barra de scroll).

E então acione o inherited paint para que o objeto novo possa ser desenhado.

O código abaixo mostra uma Unit criada de uma instância do componente TDBGrid e que não possui a barra de rolagem vertical.

unit Newgrid; 
interface 
uses 
WinTypes, WinProcs, Classes, DBGrids; 
 
type 
TNoVertScrollDBGrid = class(TDBGrid) 
 
protected 
procedure Paint; override; 
end; 
 
procedure Register; 
 
implementation 
 
procedure TNoVertScrollDBGrid.Paint; 
begin 
   SetScrollRange(Self.Handle, SB_VERT, 0, 0, False); 
   inherited Paint; 
end; 
 
procedure Register; 
begin 
   RegisterComponents(´Data Controls´, [TNoVertScrollDBGrid]); 
end; 
end. 



GOSTEI 0
Marco Salles

Marco Salles

08/10/2004

Eu ainda nao testei pq resolvi o problema de outro modo..Mas Agradeço sua interresante participação
Muito obrigado Fabio


GOSTEI 0
POSTAR