タイトル : 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 こんな感じで自分のやりたかった事は実現できたのですが、 こんな方法もあるとか、この方法はよくない等の意見があれば教えてもらえないでしょうか。 |