2012-01-09 6 views
1

ビデオを再生するのにmciSendStringを使用していますが、ビデオの上にラベルやボタンのようなコントロールを置くことができません。ビデオの上に別のコントロールを配置するにはどうすればいいですか?以下はビデオの上に他のコントロールを置く方法は?

コードです:

パブリック・クラスのForm1

プライベート宣言機能mciSendStringのLib "WINMM.DLL" エイリアス "mciSendStringA"(ByValのlpstrCommand文字列、ByValの文字列として、ByValの lpstrReturnStringとして整数、ByValの hwndCallbackとして整数)

文字列として整数として

薄暗いファイル名としてuReturnLength

暗いRETVALとして整数

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 
    filename = Chr(34) & "D:\farm.wmv" & Chr(34) 
    retVal = mciSendString("open " & filename & " type mpegvideo alias movie parent " & Panel1.Handle.ToInt32 & " style child", 0, 0, 0) 

    retVal = mciSendString("put movie window at 0 0 201 127", 0, 0, 0) 
    retVal = mciSendString("play movie", 0, 0, 0) 
End Sub End Class 

前に:(ボタン1が表示されている)

enter image description here

の後:(ボタン1はもはや見える)

enter image description here

+0

なぜビデオの上にコントロールを配置したいですか? ['BringToFront'メソッド(http://msdn.microsoft.com/en-us/library/system.windows.forms.control.bringtofront.aspx)を試しましたか? –

+0

@CodyGrayフォームウィンドウを200 x 150にする必要があるので、ビデオとボタンのスペースが少なくて済むので、ビデオの上にする必要があります。パネルを絵のボックスに置き換えることは私の問題を解決するようです(質問を掲示した後でそれを試みました) –

答えて

0

指定された子コントロールのインデックスをtに設定します。コレクションを指定されたインデックス値に設定します。

Control.ControlCollection.SetChildIndex方法

例えばボタンが内側にピクチャボックスコントロールであるならば、ちょうど設定:

PictureBox.Controls.Setchildindex(control,newIndex) 

これは仕事を行います。

関連する問題