Fórum Barra de rolagem ppViewer Report Buiilder #467157

16/01/2014

0

tenho um form para pré-visualização de impressão de um arquivo pelo ppViewer do report builder
ele mostra tudo certinho o que eu quero fazer é colocar o foco na barra de rolagem do ppviewer
para quando rolar o scroll do mouse ele movesse a o visualização

obrigado

Paulo Nunes

Paulo Nunes

Responder

Posts

17/01/2014

Paulo Nunes

Bom consegui resolver meu problema porém não sei se é a maneira mais correta

eu coloquei um ApplicationEvents no form TF_Imprimir que onde eu visualizo a impressão
e no evento onmessage do ApplicationEvents coloquei esta função

procedure TF_Imprimir.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var
i: SmallInt;
begin
if Msg.message = WM_MOUSEWHEEL then
begin
Msg.message := WM_KEYDOWN;
Msg.lParam := 0;
i := HiWord(Msg.wParam) ;
if i > 0 then
begin
if Mousewell then
begin
ppViewer1.VerticalScroll(25);
end;
end
else
begin
if Mousewell then
ppViewer1.VerticalScroll(-25);
end;
Handled := False;
end;
end;

porém ele funciona para a aplicação inteira, então criei uma variável do tipo boolean "Mousewell "
que recebe valor true quando chamo o TF_Imprimir para visualização e quando fecho recebe valor false
ai quando rolar o scroll do mouse para cima ou para baixo é só executar a função do ppViewer para
mexer a barra de rolagem
ppViewer1.VerticalScroll(25); pra cima
ppViewer1.VerticalScroll(-25);pra baixo



podem fechar o topico
Responder

Gostei + 0

15/09/2015

Gustavo Silva

eh so colocar no form do componente o seguinte:

procedure Form1.FormMouseWheelDown(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
PpViewer.VerticalScroll(-35);//Para Baixo
end;

procedure Form1.FormMouseWheelUp(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
PpViewer.VerticalScroll(35);//Para Cima
end;
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar