none
DirectShowのMessageDrainの質問ですが・・・ RRS feed

  • 質問

  • お世話になります。

     

    Visual Studio 2005を使用して作成しています。

     

    DirctShow関連のサンプルから、VBで簡単なプレーヤを作成しようと

    思っていますが、ビデオWindow内のマウスイベントを拾いたいと

    思いましたが、うまく拾うことが出来ません。

    クリックイベントで部分拡大を行いたいと思っています。

     

    ビデオは、picVideoWindow (PictureBox) の領域で再生させています。

     

        Private m_objVideoWindow As QuartzTypeLib.IVideoWindow 'VideoWindow Object

     

            m_objVideoWindow.Owner = picVideoWindow.Handle
            m_objVideoWindow.MessageDrain = picVideoWindow.Handle

     

    で、メッセージの飛ばし先を、picVideoWindowにすると、スパイ++で確認した

    範囲では、picVideoWindow にメッセージが投げられているようなんですが

    プログラムの中では受けられていません。

    <00047> 0001084A P WM_LBUTTONUP fwKeys:0000 xPos:124 yPos:199

     

    ちなみに、ビデオファイルをオープンする前は、クリックイベントは拾えています。

    <00006> 0001084A P WM_LBUTTONUP fwKeys:0000 xPos:307 yPos:202

    そのときのイベントです

     

    受けている、ルーチンです

       Private Sub picVideoWindow_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles picVideoWindow.MouseClick

     

    どこを、直したらよいか分からず・・・・

    よろしくお願いいたします。
    2007年8月1日 4:53

すべての返信

  • wm-tです。

     

    よく考えたら、Clickで受けようとしたのが間違いでした。

    MouseUpで受ければよいのですね。

     

    大変失礼いたしました。

    2007年8月1日 8:55