STATUSBAR

ROBSONSLZ 09/09/2015 01:04:12
#451148
Olá pessoal,

O codigo dos textos abaixo não aparece no statusbar no MDIForm porque? O que há de errado?

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

Select Case Index
Case 1
StatusBar1.Panels(1).Text = [Ô]Cadastro...[Ô]
Case 3
StatusBar1.Panels(3).Text = [Ô]Consulta...[Ô]
Case 5
StatusBar1.Panels(5).Text = [Ô]Usuários do Sistema...[Ô]
Case 7
StatusBar1.Panels(7).Text = [Ô]Trocar de Usuário...[Ô]
Case 9
StatusBar1.Panels(9).Text = [Ô]BackUp do Sistema...[Ô]
Case 11
StatusBar1.Panels(11).Text = [Ô]Sair do Sistema...[Ô]
End Select

End Sub
TUNUSAT 09/09/2015 08:31:49
#451153
Resposta escolhida
ROBSONSLZ,

O [Ô]Toolbar1_MouseMove[Ô] não tem nos seus parâmetros algo que diz qual e o index que esta sendo usado...
... por exemplo, veja desta forma:
Private Sub StatusBar1_PanelClick(ByVal Panel As MSComctlLib.Panel)

Select Case Panel.Index
Case 1
StatusBar1.Panels(1).Text = [Ô]Cadastro...[Ô]
Case 3
StatusBar1.Panels(3).Text = [Ô]Consulta...[Ô]
Case 5
StatusBar1.Panels(5).Text = [Ô]Usuários do Sistema...[Ô]
Case 7
StatusBar1.Panels(7).Text = [Ô]Trocar de Usuário...[Ô]
Case 9
StatusBar1.Panels(9).Text = [Ô]BackUp do Sistema...[Ô]
Case 11
StatusBar1.Panels(11).Text = [Ô]Sair do Sistema...[Ô]
End Select

End Sub


[][ô]s,
Tunusat.
ROBSONSLZ 09/09/2015 10:00:10
#451156
Citação:

:
ROBSONSLZ,

O [Ô]Toolbar1_MouseMove[Ô] não tem nos seus parâmetros algo que diz qual e o index que esta sendo usado...
... por exemplo, veja desta forma:

Private Sub StatusBar1_PanelClick(ByVal Panel As MSComctlLib.Panel)

Select Case Panel.Index
Case 1
StatusBar1.Panels(1).Text = [Ô]Cadastro...[Ô]
Case 3
StatusBar1.Panels(3).Text = [Ô]Consulta...[Ô]
Case 5
StatusBar1.Panels(5).Text = [Ô]Usuários do Sistema...[Ô]
Case 7
StatusBar1.Panels(7).Text = [Ô]Trocar de Usuário...[Ô]
Case 9
StatusBar1.Panels(9).Text = [Ô]BackUp do Sistema...[Ô]
Case 11
StatusBar1.Panels(11).Text = [Ô]Sair do Sistema...[Ô]
End Select

End Sub


[][ô]s,
Tunusat.



Testei dessa forma acima.
Não aparece no MDIMenu.
JABA 09/09/2015 15:57:48
#451179
Tente assim:

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

Select Case [txt-color=#e80000]Button[/txt-color]
Case 1
StatusBar1.Panels(1).Text = [Ô]Cadastro...[Ô]
Case 3
StatusBar1.Panels(3).Text = [Ô]Consulta...[Ô]
Case 5
StatusBar1.Panels(5).Text = [Ô]Usuários do Sistema...[Ô]
Case 7
StatusBar1.Panels(7).Text = [Ô]Trocar de Usuário...[Ô]
Case 9
StatusBar1.Panels(9).Text = [Ô]BackUp do Sistema...[Ô]
Case 11
StatusBar1.Panels(11).Text = [Ô]Sair do Sistema...[Ô]
End Select

End Sub
ROBSONSLZ 09/09/2015 16:21:15
#451184
Citação:

:
Tente assim:

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

Select Case [txt-color=#e80000]Button[/txt-color]
Case 1
StatusBar1.Panels(1).Text = [Ô]Cadastro...[Ô]
Case 3
StatusBar1.Panels(3).Text = [Ô]Consulta...[Ô]
Case 5
StatusBar1.Panels(5).Text = [Ô]Usuários do Sistema...[Ô]
Case 7
StatusBar1.Panels(7).Text = [Ô]Trocar de Usuário...[Ô]
Case 9
StatusBar1.Panels(9).Text = [Ô]BackUp do Sistema...[Ô]
Case 11
StatusBar1.Panels(11).Text = [Ô]Sair do Sistema...[Ô]
End Select

End Sub



Não funciona ao passar com o mouse nos botões da (Toolbar)
KERPLUNK 09/09/2015 17:19:22
#451186
1 - Seu Statusbar só tem um panel para exibir a informação que você quer e o índice dele é 0.
2 - O parâmetro [Ô]Button[Ô] do toolbar, não se refere ao botão ao qual se está movendo o mouse, mas sim se existe algum botão do mouse clicado
F001E 09/09/2015 17:27:36
#451188
Dim Wt As Single

 Private Sub Form_Load()
Wt = Toolbar1.Buttons(1).Width
End Sub

Private Sub Toolbar1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim myIndex As Integer
myIndex = x \ Wt + 1
If myIndex <= Toolbar1.Buttons.Count Then
StatusBar1.Panels([Ô] & myIndex & [Ô]).Text = Toolbar1.Buttons(myIndex).Description
End If
End Sub


faz o teste pois fiz isso de cabeça.....
ROBSONSLZ 09/09/2015 22:55:27
#451200
Citação:

:
Dim Wt As Single

 Private Sub Form_Load()
Wt = Toolbar1.Buttons(1).Width
End Sub

Private Sub Toolbar1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim myIndex As Integer
myIndex = x Wt + 1
If myIndex <= Toolbar1.Buttons.Count Then
StatusBar1.Panels([Ô] & myIndex & [Ô]).Text = Toolbar1.Buttons(myIndex).Description
End If
End Sub


faz o teste pois fiz isso de cabeça.....



#F001E

Nao deu certo.

Erro: Run-time 11

TUNUSAT 10/09/2015 08:10:42
#451206
ROBSONSLZ,

Achei algo interessante aqui e em outros lugares, mas precisa testar:

=============================================================
COMO SABER EM QUE LUGAR DO STATUSBAR ESTOU???
http://www.vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=32413

Defina uma variável, xPanel por exemplo, como Private no Form:
 Dim xPanel as Integer


No Evento MouseMove atualize a xPanel
 Private Sub StatusBar1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
xPanel = Int(x)
End Sub

Com isto você saberá em que posição está a cada momento.

=============================================================
Connect the Toolbar buttons with the Statusbar
http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_10097719.html

Verified Answer
by:tjpPosted on 1998-11-13 at 08:22:24ID: 1444504
Option Explicit

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
StatusBar1.Panels(1).Text = [Ô][Ô]
End Sub

Private Sub StatusBar1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
StatusBar1.Panels(1).Text = [Ô][Ô]
End Sub

Private Sub Toolbar1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim i As Integer

For i = 1 To Toolbar1.Buttons.Count
With Toolbar1
If (x < (.Buttons(i).Left + .Buttons(i).Width)) And _
(y < (.Buttons(i).Top + .Buttons(i).Height)) Then
StatusBar1.Panels(1).Text = .Buttons(i).ToolTipText
Exit Sub
End If
End With
Next
StatusBar1.Panels(1).Text = [Ô][Ô]
End Sub

-------------------------------------------------------------
This should do everything you asked for...

=============================================================
[RESOLVED] StatusBar ToolTipText cut off
http://www.vbforums.com/showthread.php?574646-RESOLVED-StatusBar-ToolTipText-cut-off

Private Sub StatusBar1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 0 Then
Dim p As Integer
With StatusBar1
For p = 1 To .Panels.Count
If x >= .Panels(p).Left Then
If x < .Panels(p).Width + .Panels(p).Left Then
If iTipSet <> p Then
iTipSet = p
.ToolTipText = .Panels(p).Tag
End If
Exit For
End If
End If
Next
End With
End If
End Sub

=============================================================
VB.Net:

event MouseMove (Button as Integer, Shift as Integer, X as OLE_XPOS_PIXELS, Y as OLE_YPOS_PIXELS)
http://www.exontrol.com/content/products/exstatusbar/help/_IStatusBarEvents_MouseMove.htm
=============================================================

[][ô]s,
Tunusat.
ROBSONSLZ 10/09/2015 09:01:07
#451208

#TUNUSAT

Funcionou perfeitamente. (No MDIForm)
100%... Valeu pelo esforço. Nota 10 ao nosso colega [Ô]Tunusat[Ô]

[ô]Esse funciona tanto no form como mdiform

Private Sub Toolbar1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim i As Integer

For i = 1 To Toolbar1.Buttons.Count
With Toolbar1
If (x < (.Buttons(i).Left + .Buttons(i).Width)) And _
(y < (.Buttons(i).Top + .Buttons(i).Height)) Then
StatusBar1.Panels(1).Text = .Buttons(i).ToolTipText
Exit Sub
End If
End With
Next
StatusBar1.Panels(1).Text = [Ô][Ô]
End Sub

Grato,
Tópico encerrado , respostas não são mais permitidas