Logo Hardware.com.br
Lucio Campetti
Lucio Campet... Membro Junior Registrado
92 Mensagens 0 Curtidas

QuickReport Delphi 7 - Rolagem na barra de rolagem.

#1 Por Lucio Campet... 17/05/2013 - 23:53
Boa Noite amigos.

Estou usando delphi7, firebird 2.5 e no meu aplicativo criei um relatorio com o quickreport porem nao consigo fazer ele rolar a barra de rolagem quando utilizo o mouse (aquele botaozinho giratorio do mouse). Alguem tem uma dica para fazer funcionar. Aguardo ajuda. Obrigado.
Responder
TerraSkilll
TerraSkilll Zumbi Moderador
4K Mensagens 1.2K Curtidas
#2 Por TerraSkilll
18/05/2013 - 12:47
Você diz que o relatório, quando é exibido, não rola usando o scroll do mouse? Não tenho como testar aqui, mas suponho que seja um problema do Quickreport mesmo, porque é ele quem exibe o relatório. Corrigir isso talvez envolva modificar o próprio Quickreport ou alguma outra técnica não muito elegante (como simular o uso da barra de rolagem quando o mouse é rolado).

Abraço.
Contribua para um fórum melhor: pense antes de postar.
"It isn't a contest. Just enjoy the ride." -> Seth Vidal
Hardware.com.br no Youtube!
Lucio Campetti
Lucio Campet... Membro Junior Registrado
92 Mensagens 0 Curtidas
#3 Por Lucio Campet...
18/05/2013 - 14:35
TerraSkilll disse:
Você diz que o relatório, quando é exibido, não rola usando o scroll do mouse? Não tenho como testar aqui, mas suponho que seja um problema do Quickreport mesmo, porque é ele quem exibe o relatório. Corrigir isso talvez envolva modificar o próprio Quickreport ou alguma outra técnica não muito elegante (como simular o uso da barra de rolagem quando o mouse é rolado).

Abraço.


Encontrei este codigo na net. (planetadelphi)
O que e esta classe tqrPrinter e como implementa-la.
Quando compilo com f9 da erro na linha TQRStandardPreview.
So que da erro aonde esta em vermelho.
Acredito que seja algo que nao estou implementando no codigo do form.
[CODE=rich]
Essa dica é para dar uma opção de rolagem no relatório do QuickReport ou para quem usa também a classe TQRPrinter.

1 - para traduzir seu relatório coloque essa função no beforeprint:

procedure TF_TFtApl.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
// Configurar o Preview...
SetupStandardPreview('Visualizaçao do Relatório '+QuickRep1.ReportTitle);
end;

2 - E na função escreva o seguinte:

{ Redefine hints de botoes e o caption da janela de preview }
procedure SetupStandardPreview(PreviewTitle: String);
begin
with TQRStandardPreview(Application.FindComponent('QRStandardPreview')) do
begin
ZoomFit.Hint := 'Janela Inteira';
Zoom100.Hint := 'Zoom';
ZoomToWidth.Hint := 'Largura da Página';
FirstPage.Hint := 'Primeira Página';
PreviousPage.Hint := 'Página Anterior';
ToolButton2.Hint := 'Próxima Página';
LastPage.Hint := 'Ultima Página';
PrintSetup.Hint := 'Configurar Impressora';
Print.Hint := 'Imprimir';
SaveReport.Hint := 'Salvar relatório';
LoadReport.Hint := 'Abrir relatório salvo previamente';
ExitButton.Caption := '&Fechar';
ExitButton.Width := 60;
ExitButton.Hint := 'Fechar tela de visualização';
Caption := PreviewTitle;
OnKeyPress := F_princ.KPRESS;
OnMouseWheel := F_princ.MouseWheel;
end;
end;

3 - Até aqui todos sabem fazer, mas tem o KPRESS e MouseWheel:

procedure TF_Princ.MouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
with TQRStandardPreview(Application.FindComponent('QRStandardPreview')) do
begin
Application.ProcessMessages;
VertScrollBar.Range := 1350;
VertScrollBar.Position := VertScrollBar.Position - trunc(WheelDelta / 4);
end;
end;

e ... para rolar com as teclas...

procedure TF_Princ.KPRESS(Sender: TObject; var Key: Char);
begin
with TQRStandardPreview(Application.FindComponent('QRStandardPreview')) do
begin
case key of
'8': begin
Application.ProcessMessages;
VertScrollBar.Range := 1350;
VertScrollBar.Position := VertScrollBar.Position - 30;
end;
'2': begin
Application.ProcessMessages;
VertScrollBar.Range := 1350;
VertScrollBar.Position := VertScrollBar.Position + 30;
end;
end;
end;
end;

Conclusão: se não pode rolar o relatório, role o form inteiro...
[/CODE]

Aguardo ajuda.
Responder Tópico
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal