ADAPTANDO FUNCAO

IRENKO 22/05/2012 16:21:11
#402481
Private Sub ImgBox_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
EventoBotao Index
End Sub

Private Sub Skin_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
EventoBotao 0
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
EventoBotao
For c = 1 To 2
Select Case c
Case 1
Barra(c).Visible = False
Case 2
Barra(c).Visible = False
End Select
Next c

End Sub

Private Sub EventoBotao(Optional Index As Integer)
[ô]Percorre Botões e coloca desabilitado (Cinza)
For i = 1 To 5
ImgBox(i).Picture = Img_Barra.ListImages(i + 5).Picture
Shape_Multimedia(i).Visible = False
Next i

[ô]Percorre Botões e coloca habilitado (Colorido)
For i = 1 To 5
If ImgBox(i).Picture <> Img_Barra.ListImages(i + 5).Picture And i <> Index Then
ImgBox(i).Picture = Img_Barra.ListImages(i + 5).Picture
End If
If i = Index Then
Shape_Multimedia(i).Visible = True
Lb_Barra(i).ForeColor = &HFFFFFF
Else
Shape_Multimedia(i).Visible = False
Lb_Barra(i).ForeColor = &H808080
End If
Next i
If Index > 0 And Index < 6 Then
ImgBox(Index).Picture = Img_Barra.ListImages(Index).Picture
End If
End Sub

Seguinte pessoal, eu preciso adaptar a função (EventoBotao) colocando a parte do codigo em negrito da Private Sub Form_MouseMove dentro dela sem influenciar o restante da função pois esta funcionando normalmente. O objeto de nome Barra são 02 PictureBox index e eles devem desaparecer ao passar o mouse no Form, alguem pode dar uma ideia?
KERPLUNK 22/05/2012 17:12:17
#402484
Amigo, explique a idéia, o que você quer fazer aí sim podemos dar uma solução...
MARCELO.TREZE 22/05/2012 17:33:22
#402487
Resposta escolhida
é só isso

Private Sub EventoBotao(Optional Index As Integer)
[ô]Percorre Botões e coloca desabilitado (Cinza)
For i = 1 To 5
ImgBox(i).Picture = Img_Barra.ListImages(i + 5).Picture
Shape_Multimedia(i).Visible = False
Next i

[ô]Percorre Botões e coloca habilitado (Colorido)
For i = 1 To 5
If ImgBox(i).Picture <> Img_Barra.ListImages(i + 5).Picture And i <> Index Then
ImgBox(i).Picture = Img_Barra.ListImages(i + 5).Picture
End If
If i = Index Then
Shape_Multimedia(i).Visible = True
Lb_Barra(i).ForeColor = &HFFFFFF
Else
Shape_Multimedia(i).Visible = False
Lb_Barra(i).ForeColor = &H808080
End If
Next i
If Index > 0 And Index < 6 Then
ImgBox(Index).Picture = Img_Barra.ListImages(Index).Picture
End If

For c = 1 To 2
Select Case c
Case 1
Barra(c).Visible = False
Case 2
Barra(c).Visible = False
End Select
Next c


End Sub


veja se é isto

IRENKO 23/05/2012 07:29:27
#402515
Marcelo, já tentei isso e não funciona por causa da Private Sub ImgBox_MouseMove pois nela eu mostro as barras e com sua sugestão eu mostro e ao mesmo tempo tiro. A ideia é colocar essa rotina dentro da Private Sub EventoBotao como opcional somente para o evento MouseMove do Form. é possivel?
KERPLUNK 23/05/2012 09:38:13
#402534
Entendi o códgo perfeitamente e sei o que ele faz, massss:
Imagine um usuário que está querendo fazer a mesma coisa. Ele procuraria por [Ô]exibir ocultar imagens mouse[Ô] ou algo do gênero. é mais ou menos o que sua rotina faz, mas ela não seria listada para esse usuário...
Explicando a idéia, o que você quer fazer, nos daria a possibilidade de indexar esse tópico melhor e assim, ajudar algum usuário futuramente... é por causa disso que em muitos dos meus tópicos, eu vejo o que o usuário quer, e reformulo a dúvida e formato de uma pergunta mais simples, tipo:

Você quer atualizar o registro com valores da textbox, isso?

Observe que com isso, crio uma [Ô]chave[Ô] para procura(que seriam as palavras [Ô]atualizar registro valores textbox[Ô]), facilitando para outros usuários que tenham a mesma dúvida;
Por isso, explicando a idéia do que você quer fazer é muito melhor do que simplesmente mostrar o código, porque além de ajudar a solucionar seu problema, podemos dar várias outras sugestões de melhorias que talvez você não tenha pensado ainda...
MARCELO.TREZE 23/05/2012 11:04:23
#402539
sim é perfeitamente possivel veja

Private Sub EventoBotao(Optional Index As Integer, [txt-color=#0000f0]Optional FormMouseMove As Boolean = False[/txt-color])
[ô]Percorre Botões e coloca desabilitado (Cinza)
For i = 1 To 5
ImgBox(i).Picture = Img_Barra.ListImages(i + 5).Picture
Shape_Multimedia(i).Visible = False
Next i

[ô]Percorre Botões e coloca habilitado (Colorido)
For i = 1 To 5
If ImgBox(i).Picture <> Img_Barra.ListImages(i + 5).Picture And i <> Index Then
ImgBox(i).Picture = Img_Barra.ListImages(i + 5).Picture
End If
If i = Index Then
Shape_Multimedia(i).Visible = True
Lb_Barra(i).ForeColor = &HFFFFFF
Else
Shape_Multimedia(i).Visible = False
Lb_Barra(i).ForeColor = &H808080
End If
Next i
If Index > 0 And Index < 6 Then
ImgBox(Index).Picture = Img_Barra.ListImages(Index).Picture
End If

[txt-color=#0000f0]If FormMouseMove = True Then[/txt-color]
For c = 1 To 2
Select Case c
Case 1
Barra(c).Visible = False
Case 2
Barra(c).Visible = False
End Select
Next c
[txt-color=#0000f0]End If[/txt-color]

End Sub

ai somente no mousemove do form você coloca

EventoBotao ,True


e pronto
IRENKO 23/05/2012 11:23:24
#402542
Marcelo, mais uma vez obrigado! Era isso mesmo q eu precisava! Eu não estava sabendo como usar o parametro opcional nessa função, essa era a duvida. Problema resolvido e mais um aprendizado.

Valeu!!!
MARCELO.TREZE 23/05/2012 11:34:28
#402543
Disponha parceiro
Tópico encerrado , respostas não são mais permitidas