Notifications
Clear all

Evento Click do controle Image

3 Posts
3 Usuários
0 Reactions
1,191 Visualizações
(@anderdiniz)
Posts: 20
Eminent Member
Topic starter
 
Dim caminho As String
    caminho = ThisWorkbook.Path & "" & "simbolo" & ThisWorkbook.Sheets("Planilha1").Cells(2, 1).Value & ".jpg"
             Image1.Picture = LoadPicture(caminho)
        Image1.PictureSizeMode = fmPictureSizeModeStretch

Quando coloco o código acima em um botão, a imagem é carregada.
Quando coloco no evento click do controle Image, não carrega a imagem e não dá erro.

 
Postado : 05/11/2017 1:01 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

anderdiniz,

Boa noite!

Não tenho certeza, mas creio que o Evento Click do objeto Image não carrega a imagem porque não é possível carregar uma imagem para ele mesmo. Ou seja, disparar um evento click dele para carregar uma image através do LoadPicture dele mesmo. Veja, no exemplo que fiz (anexo), onde coloquei num UserForm 2 objetos Image que quando você clica no Image MENOR o evento click do mesmo é disparado normalmente e a imagem é carregada para o Image MAIOR.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 05/11/2017 5:03 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

A imagem é carregada, porem como o objeto imagem nessa condição está com o foco, fica em primeiro plano e a imagem "atras".

Para visualizar a imagem carregada e possivel utilizar Zorder ou Repaint

Utilizando o exemplo do colega Wagner, Seria algo =/- assim
Utilizando Zorder:

Private Sub Image2_Click()
Dim caminho As String
    caminho = ThisWorkbook.Path & "" & "simbolo " & ThisWorkbook.Sheets("Planilha1").Cells(2, 1).Value & ".jpg"
     UserForm1.Image1.Picture = LoadPicture(caminho)
     UserForm1.Image1.PictureSizeMode = fmPictureSizeModeStretch
        
     UserForm1.Image2.Picture = LoadPicture(caminho)
      Image2.ZOrder (1)
      UserForm1.Image2.PictureSizeMode = fmPictureSizeModeStretch
End Sub

Utilizando Repaint:

Private Sub Image2_Click()
Dim caminho As String
    caminho = ThisWorkbook.Path & "" & "simbolo " & ThisWorkbook.Sheets("Planilha1").Cells(2, 1).Value & ".jpg"
        UserForm1.Image1.Picture = LoadPicture(caminho)
        UserForm1.Image1.PictureSizeMode = fmPictureSizeModeStretch
        UserForm1.Image2.Picture = LoadPicture(caminho)
        UserForm1.Image2.PictureSizeMode = fmPictureSizeModeStretch
        Repaint
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 05/11/2017 7:02 pm