Tirar Barra de Rolagem Vertical de DBGrig
Como faço para fazer com que a barra de rolagem vertical de um DB Grid não apareça?
Tem menos linhas doque o tamanho do dbgrid e mesmo assim a barra aparece.
Tem menos linhas doque o tamanho do dbgrid e mesmo assim a barra aparece.
Raserafim
Curtidas 0
Respostas
Diogoalles
15/02/2005
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.
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
Raserafim
15/02/2005
valeu diogo, deu certo.
utilizei a mesma linha de comando de uma outra forma. coloquei no evento OnPaint do form, com isso nem precisei criar um componente e nem herdar.
utilizei a mesma linha de comando de uma outra forma. coloquei no evento OnPaint do form, com isso nem precisei criar um componente e nem herdar.
GOSTEI 0
Raserafim
15/02/2005
não deu tão certo assim. ao abrir o form,o dbgrid aparece sem as barras, mas é só musra de linha que as barras voltam.
Fiz então uma classe e herdei da dbgrid e sobrescrevi o metodo paint, mas o refresh é muito grande, não dá certo.
preciso de uma outra maneira pra remover as barras de rolagem da dbgrid.
Fiz então uma classe e herdei da dbgrid e sobrescrevi o metodo paint, mas o refresh é muito grande, não dá certo.
preciso de uma outra maneira pra remover as barras de rolagem da dbgrid.
GOSTEI 0