タイトル | : Re^2: マウスカーソルからツールバーのボタン取得 |
記事No | : 3483 |
投稿日 | : 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
こんな感じで自分のやりたかった事は実現できたのですが、 こんな方法もあるとか、この方法はよくない等の意見があれば教えてもらえないでしょうか。
|