Notifications
Clear all

SpecialEffect na image

12 Posts
2 Usuários
0 Reactions
1,753 Visualizações
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Pessoal,

Utilizo vários botões no meu sistema, dentre eles, alguns são ''image'' e outros ''CommandButton''.

Nos que são ''image'', com intuito de sinalizá-los e, até mesmo para ficar algo mais sistematizado, eu utilizo o código abaixo:

Private Sub Image14_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Image14.SpecialEffect = fmSpecialEffectEtched
End Sub

A pergunta é, tem como eu fazer algo igual ou similar para os "CommandButton'?'.

 
Postado : 14/08/2014 7:59 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

O commandbutton não tem o evento mouseover. mesmo que tivesse, não tem a propriedade specialeffect.

Eu sugiro, se vc quer muito dar esse efeito nos botões, pq não os substitui por imagens que pareçam eles.??
daí vc muda a imagem no mouseclick, muda a imagem no mouse over.... tendeu ?

FF

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

 
Postado : 14/08/2014 8:10 am
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Sim, isso eu já tinha pensado, mas o problema é que o meu projeto já está todo parametrizado com os atuais botões, mas enfim, farei o que você sugestionou.

 
Postado : 14/08/2014 10:28 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Sugestão melhorada:
Faça isso, mas para não dificultar, crie rotinas reutilizáveis...
Tipo

Sub trocarImagem(byref oImage as picture, byval NovaImagem as string)
End Sub

Algo assim, que vc pode desenvolver uma vez só, e criar as diversas chamadas dentro dos eventos...
A razão, se vc precisar mudar alguma coisinha no código, vc muda só num lugar e não em todos os botões...

;-)

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

 
Postado : 14/08/2014 11:37 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Se a intenção é somente destacar o CommandButtom, pode utilizar o BackColor:

Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    CommandButton1.BackColor = vbGreen
End Sub

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    CommandButton1.BackColor = &H8000000F
End Sub

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

 
Postado : 15/08/2014 11:49 am
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Pessoal,

Ambas as dicas são ótimas.

Eu alterei os botões de comando pelas as "image", criei ícones legais, coloquei um efeito no mousemove (vide abaixo) e, com isso, padronizei todo o meu sistema no que refere-se a botões.

Private Sub Image37_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Image37.SpecialEffect = fmSpecialEffectSunken
End Sub

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

Image37.SpecialEffect = fmSpecialEffectRaised

end sub

A minha dificuldade agora é dar o setfocus na "image". Como faço?

 
Postado : 15/08/2014 1:33 pm
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Pessoal, alguém pode ajudar-me?

 
Postado : 16/08/2014 8:26 pm
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Pessoal,

Buscando ser mais claro:

Ao realizar o cadastro de uma programação, o usuário preenche alguns textbox e combobox.

Eu quero que, quando o usuário preencher o ultimo textbox do cadastro e der Enter, o setfocus vá para image.

Como faço isso?

 
Postado : 18/08/2014 4:31 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Até onde eu sei, o controle image não aceita a propriedade SetFocus, então, a não ser que alguem diga o contrário, sem chance de fazer desta forma.

[]s

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

 
Postado : 18/08/2014 4:07 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Imagem não aceita setfocus...
Uma alternativa seria vc codificar o keypress do userform para identificar o enter e disparar o código da imagem...

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

 
Postado : 18/08/2014 6:15 pm
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Pois é Fernando,

De fato a imagem não aceita o setfocus, mas, pelo o que eu entendi, fazendo o que você sugestionou, o usuário ao dar o exit no ultimo textbox preenchido, automaticamente o comando contido na Imagem (Confirmar) será executado. Estou certo? Se sim, não acho uma excelente ideia, pois talvez, mesmo que o usuário tenha cadastrado todos os campos, a vontade dele ainda não é de confirmar.

Acho que, para alguns casos, manterei o CommandButton, ao invés da image.

Corrija-me se eu estiver interpretando errado.

 
Postado : 18/08/2014 7:38 pm
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Fernando,

Eu usei o Keydown.. veja abaixo:

Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Call Password_AfterGotFocus

If KeyCode = 13 Then

''verifica se a tecla enter foi acionada.

image37_Click

End If

End Sub

 
Postado : 20/08/2014 1:03 pm