Notifications
Clear all

Evento Click do controle Image

3 Posts
3 Usuários
0 Reactions
1,170 Visualizações
(@anderdiniz)
Posts: 0
New 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-vidal-nobre)
Posts: 4063
Famed 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.

 
Postado : 05/11/2017 5:03 pm
(@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
 
Postado : 05/11/2017 7:02 pm