Olá galera, nesta Quick Tips, irei mostrar nesta parte como usar o componente importado a partir do ActiveX.
Vamos adicionar um novo projeto e montarmos a tela da seguinte forma(Layout fica a critério de cada um, estou apenas mostrando as funcionalidades do componente).
Seguindo a tela acima temos o seguinte.
ActionManager1, Renomei todos as Actions para Act_ + o Caption que esta descrito na imagem.
OpenDialog1
ImageList1(Adicione algumas imagens, para cada função da tela)
EdtPagina
CbxZoom (onChange = Act_ZoomExecute)
CbxLayoutView (onChange = Act_LayoutViewExecute)
CbxLayout (onChange = Act_LayoutExecute)
CbxExibirbarraOrigem
CbxLayoutAcrobat (on Change = Act_LayoutAcrobatExecute)
BtnLayoutAnterior (onClick = Act_LayoutAnteriorExecute)
BtnLayoutProximo (onClick = Act_LayoutProximoExecute)
BtnPrimeira (onClick = Act_PrimeiraExecute)
BtnUltima (onClick = Act_UltimaExecute)
BtnProxima (onClick = Act_ProximaExecute)
BtnAnterior (onClick = Act_AnteriorExecute)
BtnAbrir (onClick =Act_AbrirExecute)
BtnImprimir (onClick =Act_ImprirmirExecute)
BtnImprimirTudo (onClick =Act_ImprimirTudoExecute)
AcroPDF1 – Nosso componente importado via ActiveX
Vamos agora as implementações de cada ação do ActionManager1.
procedure TFrmPrincipal.Act_LayoutExecute(Sender: TObject);
begin
AcroPDF1.setPageMode(CbxLayout.Text);
end;
procedure TFrmPrincipal.Act_LayoutProximoExecute(Sender: TObject);
begin
AcroPDF1.goForwardStack;
end;
procedure TFrmPrincipal.Act_LayoutViewExecute(Sender: TObject);
begin
AcroPDF1.setView(CbxLayoutView.Text);
end;
procedure TFrmPrincipal.Act_LayoutAcrobatExecute(Sender: TObject);
begin
AcroPDF1.setLayoutMode(CbxLayoutAcrobat.Text);
end;
procedure TFrmPrincipal.Act_LayoutAnteriorExecute(Sender: TObject);
begin
AcroPDF1.goBackwardStack;
end;
procedure TFrmPrincipal.Act_AbrirExecute(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
AcroPDF1.src := OpenDialog1.FileName;
AcroPDF1.show;
end;
end;
procedure TFrmPrincipal.Act_AnteriorExecute(Sender: TObject);
begin
AcroPDF1.gotoPreviousPage;
end;
procedure TFrmPrincipal.Act_ImprimirTudoExecute(Sender: TObject);
begin
AcroPDF1.printWithDialog;
end;
procedure TFrmPrincipal.Act_ImprirmirExecute(Sender: TObject);
begin
AcroPDF1.Print;
end;
procedure TFrmPrincipal.Act_PrimeiraExecute(Sender: TObject);
begin
AcroPDF1.gotoFirstPage;
end;
procedure TFrmPrincipal.Act_ProximaExecute(Sender: TObject);
begin
AcroPDF1.gotoNextPage;
end;
procedure TFrmPrincipal.Act_UltimaExecute(Sender: TObject);
begin
AcroPDF1.gotoLastPage;
end;
procedure TFrmPrincipal.Act_ZoomExecute(Sender: TObject);
begin
if CbxZoom.ItemIndex > -1 then
AcroPDF1.setZoom(StrToInt(StringReplace(CbxZoom.Text,'%','',[])));
end;
{CbxExibirBarraOrigem onClick}
procedure TFrmPrincipal.CbxExibirbarraOrigemClick(Sender: TObject);
begin
AcroPDF1.setShowToolbar(TCheckBox(Sender).Checked);
end;
{FormCreate}
procedure TFrmPrincipal.FormCreate(Sender: TObject);
begin
OpenDialog1.Filter := 'Acrobat PDF|*.PDF';
end;
{EdtPagina onKeyPress}
procedure TFrmPrincipal.EdtPaginaKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
AcroPDF1.setCurrentPage(StrToInt(TEdit(Sender).Text));
end;
end.
Este exemplo mostra as principais funções que temos no ActiveX do PDF.
Fico por aqui ate à próxima Quick Tips.
Um abraço
Wesley Y
wyamazack@rwsolution.com.br