Barra de rolagem ppViewer Report Buiilder
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
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
Curtidas 0
Respostas
Paulo Nunes
16/01/2014
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
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
GOSTEI 0
Gustavo Silva
16/01/2014
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;
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;
GOSTEI 0