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