2012-01-09 1 views
1

mciSendString을 사용하여 비디오를 재생하고 있지만 레이블이나 버튼과 같은 컨트롤을 비디오 상단에 놓을 수 없습니다. 비디오 상단에 다른 컨트롤을 배치하려면 어떻게합니까?다른 컨트롤을 비디오 위에 어떻게 두는가?

공공 Form1 클래스

개인 선언 함수 mciSendString 해방 "winmm.dll"별칭 "mciSendStringA"문자열, ByVal의로 (ByVal의 lpstrCommand 문자열, 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) 

이이 일을 할 것가.