| タイトル | : AxWindowsMediaPlayerでフォームを移動 |  
| 記事No | : 7938 |  
| 投稿日 | : 2008/08/12(Tue) 13:04 |  
| 投稿者 | : ゆうき  |  
 ゆうきです。
  タイトルバーの無いフォームを作っています。 そこで、フォームを移動したくなったので、
      Private FormMousePoint As Point
      Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown         If (e.Button And MouseButtons.Left) = MouseButtons.Left Then             FormMousePoint = New Point(e.X, e.Y)         End If     End Sub
      Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove         If (e.Button And MouseButtons.Left) = MouseButtons.Left Then             Me.Left += e.X - FormMousePoint.X             Me.Top += e.Y - FormMousePoint.Y         End If     End Sub
  としました。 しかし、場合によっては、AxWindowsMediaPlayerに全体を覆われるような状態にすることがあります。 そのときに、AxWindowsMediaPlayerをドラッグしてフォームを移動できるようにしたいと思い、
      Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown, AxWindowsMediaPlayer.MouseDownEvent     '略     Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove, AxWindowsMediaPlayer.MouseMoveEvent     '略
  としましたが、変数eがAxWMPLib._WMPOCXEvents_MouseDownEventだったので、 同じイベントにできませんでした。
  なので、
      Private Sub AxWindowsMediaPlayer1_MouseDownEvent(ByVal sender As Object, ByVal e As AxWMPLib._WMPOCXEvents_MouseDownEvent) Handles AxWindowsMediaPlayer1.MouseDownEvent         FormMousePoint = New Point(e.fX, e.fY)     End Sub
      Private Sub AxWindowsMediaPlayer1_MouseMoveEvent(ByVal sender As Object, ByVal e As AxWMPLib._WMPOCXEvents_MouseMoveEvent) Handles AxWindowsMediaPlayer1.MouseMoveEvent         Me.Left += e.fX - FormMousePoint.X         Me.Top += e.fY - FormMousePoint.Y     End Sub
  としましたが、マウスを乗せるだけで移動してしまいます。 使用するイベントが間違っているのでしょうか。 それとも、処理がおかしいのでしょうか。
  お願いします。 
 
 |