domingo, 3 de abril de 2011

Carregar imagem no Crystal Reports em run-time


Pra quem utiliza o Visual Basic 6 com Crystal Reports para gerar os relatórios da aplicação, já se deparou com uma questão básica como esta: Como carregar uma imagem no relatório em tempo de execução?

A dica foi extraída da web (não me recordo a fonte), mas irei compartilhar com todos aqui no Programação On-Line.

Abra o Visual Basic 6 e crie um novo projeto. Clique com o botão direito do mouse sobre o nome do projeto, em seguida clique em na opção Add > Crystal Reports x (utilizei a versão 8 durante a edição do artigo).


A nível de demonstração, vamos criar um relatório em branco somente para ilustrar o carregamento da imagem. Marque a opção As a Blank Report e clique no botão OK.


Em seguida, o assistente do Crystal Report questiona se desejamos criar um formulário para ser utilizado para renderizar o relatório em tempo de execução. Vamos optar por criá-lo. A opção Yes já está pré-selecionada, então clique no botão OK.

Pronto. Já temos um relatório criado no Crystal Reports e que está disponível no escopo do projeto no VB6. Nosso objetivo, é carregar uma imagem na seção Page Header (Section 2) do relatório conforme a imagem.



Abra o Form2 (e pressione a tecla F7 para acessar o View Code) e perceba que o VB6 já escreveu algumas linhas de código automaticamente, exatamente no momento em que confirmamos a criação do Form para visualização na caixa de diálogo do Crystal.


Vamos adicionar uma linha de código, responsável por fazer o carregamento da imagem para o Report.

Report.Section2.AddPictureObject "C:\LogoVS2010.jpg", 0, 0

O código fonte completo deverá ficar conforme a listagem abaixo.

Dim Report As New CrystalReport1

Private Sub Form_Load()
Screen.MousePointer = vbHourglass
Report.Section2.AddPictureObject "C:\LogoVS2010.jpg", 0, 0
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault

End Sub

Private Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Height = ScaleHeight
CRViewer1.Width = ScaleWidth

End Sub

Rodando a aplicação (tecla F5), o relatório será executado automaticamente e a nossa imagem será carregada conforme a figura abaixo.


Objetivo alcançado! Por enquanto é só, até a próxima.

Nenhum comentário:

Postar um comentário

Deixe aqui seu comentário