Desabilitar Barra Vertical
Ola Pessoal !!
Como Faço para desabilitar a Barra de rolagem Vertical do DBGrid no Delphi 6???
Como Faço para desabilitar a Barra de rolagem Vertical do DBGrid no Delphi 6???
Ageualves
Curtidas 0
Respostas
Ageualves
12/03/2003
??
GOSTEI 0
Anonymous
12/03/2003
Retirando a barra vertical do
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.
Se não resolver o problema, retorne!
João D. A. Faria
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.
Se não resolver o problema, retorne!
João D. A. Faria
GOSTEI 0
Ageualves
12/03/2003
Valeu Meu Camarada !!
Vou Verificar Ok !!
Vou Verificar Ok !!
GOSTEI 0
Anonymous
12/03/2003
Não Funcionou :cry: Embora o o Componente seja criado ao executar o programa da Erro[b:8bc06b1f93] ( [Fatal Error] Unit1.pas(7): File not found: ´DBGrid.dcu´)[/b:8bc06b1f93] e o Delphi Acrescenta na Uses mais um DBgrid.
Como vc pode perceber Sou Iniciante no Delphi :o
Como vc pode perceber Sou Iniciante no Delphi :o
GOSTEI 0
Adilsond
12/03/2003
Existe uma função na unit windows.
Unit Windows;
ShowScrollBar(DBGrid1.Handle,SB_VERT,False);
Unit Windows;
ShowScrollBar(DBGrid1.Handle,SB_VERT,False);
GOSTEI 0
Anonymous
12/03/2003
Certo, Isso Funcionou, mas precisa de alguns ajustes. Quando move-se entre as celulas de cima para baixo e vice-versa a b.vertical da umas piscadas. 8)
Mas AdilsonD Valeu tbem pela Dica :wink:
Mas AdilsonD Valeu tbem pela Dica :wink:
Existe uma função na unit windows.
Unit Windows;
ShowScrollBar(DBGrid1.Handle,SB_VERT,False);
GOSTEI 0