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

タイトル AxWindowsMediaPlayerでフォームを移動
投稿日: 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

としましたが、マウスを乗せるだけで移動してしまいます。
使用するイベントが間違っているのでしょうか。
それとも、処理がおかしいのでしょうか。

お願いします。

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

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