tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: マウスカーソルからツールバーのボタン取得
投稿日: 2006/04/11(Tue) 14:17
投稿者ひろ
自分で書き込んだURLの技術はよく理解できなかったので参考にさせてもらって作ってみました。

Private Sub Form1_Load(ByVal sender As System.Object, _
                       ByVal e As System.EventArgs) Handles MyBase.Load

    With Me.ToolBar1.Buttons
        .Add(New ToolBarButton("aaa"))
        .Add(New ToolBarButton("bbb"))
        .Add(New ToolBarButton("ccc"))
        .Add(New ToolBarButton("ddd"))
        .Add(New ToolBarButton("eee"))
    End With

    With Me.StatusBar1
        .ShowPanels = True
        .SizingGrip = False
        .Panels.Add("")
        .Panels(0).Width = Me.Width
    End With
End Sub

Private Function GetButton(ByRef tb As ToolBar, _
                           ByVal X As Integer, _
                           ByVal Y As Integer) As ToolBarButton

    For Each Idx As ToolBarButton In tb.Buttons
        If X > Idx.Rectangle.X AndAlso _
           X < Idx.Rectangle.X + Idx.Rectangle.Width AndAlso _
           Y > Idx.Rectangle.Y AndAlso _
           Y < Idx.Rectangle.Y + Idx.Rectangle.Height Then
            Return Idx
        End If
    Next

    Return Nothing

End Function

Private Sub ToolBar1_MouseMove(ByVal sender As Object, _
                               ByVal e As MouseEventArgs) Handles ToolBar1.MouseMove

    If IsNothing(GetButton(Me.ToolBar1, e.X, e.Y)) = True Then
        Me.StatusBar1.Panels(0).Text = ""
    Else
        Me.StatusBar1.Panels(0).Text = GetButton(Me.ToolBar1, e.X, e.Y).Text
    End If

End Sub

こんな感じで自分のやりたかった事は実現できたのですが、
こんな方法もあるとか、この方法はよくない等の意見があれば教えてもらえないでしょうか。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。