IMPRIMIR FOTO DENTRO DE PICTURE BOX

MARCELO.TREZE 03/02/2011 18:23:03
#364281
veja bem algo esta ocasionando erro em seu projeto eu fiz um teste chamando uma foto, pelo loadpicture e depois imprimindo o form, tento a impressão de tudo inclusive a foto.

Private Sub Command1_Click()
Me.PrintForm
End Sub


Private Sub Form_Load()
Picture1.Picture = LoadPicture([Ô]C:\Documents and Settings\Paulista\Meus documentos\Minhas imagens    este.jpg[Ô])
End Sub


revise seu projeto aqui funcionou.

MARCELO.TREZE 03/02/2011 18:25:21
#364282
poste seu código completo

SACOFRITO 03/02/2011 19:24:10
#364288
Aqui eu carrego a foto no Picture box

 If IsNull(dsCliente!caminhofoto) Then
PctFoto.Visible = False
Else
If Err = (53) Then GoTo continua
PctFoto.Visible = True
PctFoto.Picture = LoadPicture(App.Path & dsCliente!caminhofoto)
PctFoto.PaintPicture PctFoto.Picture, 0, 0, PctFoto.Width, PctFoto.Height
End If
Exit Function
continua:
MsgBox [Ô]Foto do cliente não está disponível[Ô], vbExclamation, [Ô]Atenção![Ô]
dsCliente.Edit
dsCliente!caminhofoto = Null
dsCliente.Update



Aqui eu gravo a imagem tirada de uma web cam
      op = MsgBox([Ô]DESEJA REALMENTE SALVAR A IMAGEM PARA O CLIENTE [Ô] & LBLCLIENTE & [Ô] ?[Ô], vbYesNo, [Ô]ATENÇÃO!![Ô])
If op = vbYes Then

SavePicture Picture2, App.Path & [Ô]\Foto Cliente\FotoCliente[Ô] & FormCadCli.txtCodigo & [Ô].jpeg[Ô]
Else
Picture2.Picture = Nothing
GoTo desliga
End If
[ô]===============
[ô]procura na tabela cliente e edita salvando o caminho da foto
dsCliente.FindFirst [Ô]codigo = [Ô] & FormCadCli.txtCodigo

If Not dsCliente.nomatch Then
dsCliente.Edit
dsCliente!caminhofoto = [Ô]\Foto Cliente\FotoCliente[Ô] & FormCadCli.txtCodigo & [Ô].jpeg[Ô]
dsCliente.Update
End If


Aqui imprimi
  If KeyCode = 118 Then
Me.PrintForm
End If


Meu problema é que o conteudo do Picture bo nao saiu.. saiu o componente vazio.. e como pode ver, se nao tiver foto meu picture fica invisivel
O form todo foi impresso mas como ja disse o objeto picture box imprimiu vazio :(
MARCELO.TREZE 03/02/2011 20:50:05
#364294
Percebi o seguinte:

PctFoto.Picture = LoadPicture(App.Path & dsCliente!caminhofoto)
PctFoto.PaintPicture PctFoto.Picture, 0, 0, PctFoto.Width, PctFoto.Height

se não me engano vc está dimensionando a foto no picture box, e isto é o que causa o BUG, não sei o motivo, algo que acho não descubriremos.

porém achei uma solução.

coloque um IMAGEBOX dentro do PICTUREBOX, mude a propriedade STRECH do IMAGEBOX para True

e mude isto em seu código

de:

PctFoto.Visible = True
PctFoto.Picture = LoadPicture(App.Path & dsCliente!caminhofoto)
PctFoto.PaintPicture PctFoto.Picture, 0, 0, PctFoto.Width, PctFoto.Height


Para:

PctFoto.Visible = True
Image1.Picture = LoadPicture(App.Path & dsCliente!caminhofoto)
Image1.Top = 0
Image1.Left = 0
Image1.Height = PctFoto.Height
Image1.Width = PctFoto.Width



e vc conseguirá imprimir sua foto

boa sorte

SACOFRITO 04/02/2011 09:05:06
#364320
Aproveitando o topico, porque meu tratamento para possiveis erros ao preenchimento do picture ou image nao funciona..
fiz de 2 maneiras ~[Ô] On error goto continua[Ô]e if err(numero) then goto continua
??
MARCELO.TREZE 04/02/2011 20:07:12
#364384
Resposta escolhida
coloque o On Error antes de tudo que funcionará
não o coloque dentro do if, porém se for usar dentro do if proceda da seguinte maneira

If IsNull(dsCliente!caminhofoto) Then
PctFoto.Visible = False
Else
On Error Goto Continua
PctFoto.Visible = True
PctFoto.Picture = LoadPicture(App.Path & dsCliente!caminhofoto)
PctFoto.PaintPicture PctFoto.Picture, 0, 0, PctFoto.Width, PctFoto.Height
Exit Function
continua:
If Err.Number = 53 Then
MsgBox [Ô]Foto do cliente não está disponível[Ô], vbExclamation, [Ô]Atenção![Ô]
dsCliente.Edit
dsCliente!caminhofoto = Null
dsCliente.Update
End If
End If
Exit Function

SACOFRITO 06/02/2011 01:10:03
#364464
Olá Marcelo, bom ja tinha feito dessas duas maneiras :X
Funciona aas vezes e as vezes nao.. muito estranho
MARCELO.TREZE 06/02/2011 03:06:46
#364465
pode estar acontecendo de estarem ocorrendo varios erros, porém vc só trata o erro 53

SACOFRITO 07/02/2011 08:12:47
#364536
Desculpe me expressei mal... tentei das duas maneiras com os 2 tratamentos.. a primeira tentativa foi o [Ô]On Error goto x[Ô]
logo após tentei com o outro tratamento..
Oq eu quero tratar na verdade é uma possivel exclusao da foto de um cliente...
CLINS 07/02/2011 11:10:12
#364563

tente o printform de novo desta vez com o picture setado para autoredraw = true.


Página 2 de 3 [22 registro(s)]
Tópico encerrado , respostas não são mais permitidas