VISUALIZADOR DE RELATORIOS NO PRINTER

MICROSCHEME 10/07/2010 20:43:29
#347016

Gente, é o seguinte:

Já ví muita gente indagando a respeito de visuzalizadores de impressão para o Objeto Printer, e decidi que é possível dentro de
um form do próprio vb a visuzalização de impressão através de pictures criadas dinamicamente.

Meu código abaixo cria as pictures dinamicamente, mas estou conseguindo na label apresentar o nome da última picture criada
mas na mesma picture não tô conseguindo imprimir, e o intuito é criar uma picture, fazer a impressão nela pra visualização e no final
da picture, havendo a necessidade de mais informações outra picture é criada e continua a impressão, até terminado as informações.

Meu código:

Option Explicit
Private WithEvents PicPreview As PictureBox
Dim intNumPicture As Integer
Dim intDeslocamento As Integer

Private Sub Command1_Click()
DoEvents
Set PicPreview = Controls.Add([Ô]VB.Picturebox[Ô], [Ô]PicPreview[Ô] & Format(intNumPicture, [Ô]0000[Ô]), Me)

With PicPreview
.Width = 5000
.Height = 1000
.BackColor = &HFFFFFF
.Font = [Ô]Arial[Ô]
.Move 10 + intDeslocamento, 10 + intDeslocamento
.Visible = True
End With

PicPreview.CurrentX = 200
PicPreview.CurrentY = 200
PicPreview.Print PicPreview.Name

intDeslocamento = intDeslocamento + 20
Label1.Caption = PicPreview.Name
intNumPicture = intNumPicture + 1
End Sub

Private Sub Command2_Click()
Unload FrmVariousPrintPreview
End Sub

Private Sub Form_Load()
intDeslocamento = 0
intNumPicture = 1
End Sub


é nessa linha que tá faltando algo pra identificar a picture para a impressão (tô esquecendo de algo):

PicPreview.Print PicPreview.Name

Se alguém puder ajudar, agradeço e quando estiver funcionando disponho geral.

Blz . . .

MICROSCHEME 11/07/2010 17:15:55
#347043
Seguinte:

Já estou conseguindo na criação dinâmica das pictures e imprimir dados nelas:

Ficou assim meu código:



Option Explicit
Private WithEvents PicPreview As PictureBox
Dim intNumPicture As Integer
Dim strNamePicture As String

Private Sub Command1_Click()
DoEvents
If intNumPicture > 1 Then PicPreview.Visible = False
Set PicPreview = Controls.Add([Ô]VB.Picturebox[Ô], [Ô]PicPreview[Ô] & Format(intNumPicture, [Ô]0000[Ô]), Me)
With PicPreview
.AutoRedraw = True
.BackColor = &HFFFFFF
.Font = [Ô]Arial[Ô]
.FontSize = 18
.Height = 16830
.Visible = True
.Width = 11900
End With
strNamePicture = [Ô]PicPreview[Ô] & Format(intNumPicture, [Ô]0000[Ô])
If PicPreview.Name = strNamePicture Then
PicPreview.CurrentX = ((PicPreview.ScaleWidth - PicPreview.TextWidth([Ô]Imprimindo na Picture: [Ô] & strNamePicture)) / 2)
PicPreview.CurrentY = ((PicPreview.ScaleHeight - PicPreview.TextHeight([Ô]Imprimindo na Picture: [Ô] & strNamePicture)) / 2)
PicPreview.Print [Ô]Imprimindo na Picture: [Ô] & strNamePicture
End If
intNumPicture = intNumPicture + 1
End Sub

Private Sub Command2_Click()
Unload FrmVariousPrinterPreview
End Sub

Private Sub Form_Load()
intNumPicture = 1
End Sub




Agora é o seguinte:

pra variavel i = 1 cria a picture de nome picpreview0001
pra variavel i = 5 cria a picture de nome picpreview0005
pra variavel i = 10 cria a picture de nome picpreview0010
. . .
pra variavel i = 29 cria a picture de nome picpreview0029

O que preciso de lembrar e se alguém puder ajudar, preciso ter acesso a propriedade visible de cada picture aleatóriamente, pra poder
visualizar aleatoriamente as pictures criadas, o problema que não consegui achar solução ainda porque a variavel i está embutida
no nome da picture e não funciona como uma array.

Blz . . .

Outra coisa, quando terminado, espero que breve, vou precisar aprender como criar uma ocx com esse projeto pra poder disponibilizar
mas isso é só pra depois, o meu problema agora é acessar as picpreview aleatoriamente deixando visivel e/ou escondendo.

Blz . . .

MICROSCHEME 11/07/2010 17:20:57
#347044

é que vou ter que chamar a picture através da formação de uma váriavel string composta de [Ô]PicPreview[Ô] & Format(variavel i, [Ô]0000[Ô])
pra poder fazer sua propriedade visibel true ou false

Seria isso:

VariavelPic = [Ô]PicPreview[Ô] & Format(Variavel i, [Ô]0000[Ô])

Ai seria variavelPic.visible = True ou False, ou seja a chamada pela variavel

. . .

MICROSCHEME 12/07/2010 22:20:35
#347155
Vlw. . .

Tópico encerrado , respostas não são mais permitidas