タイトル | : 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
としましたが、マウスを乗せるだけで移動してしまいます。 使用するイベントが間違っているのでしょうか。 それとも、処理がおかしいのでしょうか。
お願いします。
|