2013-07-11 2 views
1

VB6에서 창 (VB6 창)을 표시하는 기능이 있습니다. .NET 창에서이 함수를 호출하고 있습니다. VB6 창이 올바르게 나타나고, 맨 위에 있으며 활성화되어 있습니다. 뭔가, 다른 컨트롤 (Tab 키를 사용하여) 포커스를 변경할 수 있지만이 창 (VB6) 클릭하면 .NET 창 (VB6 창이 돌아갑니다) 이동합니다..NET 창 위로 VB6 창

무엇이 잘못 될 수 있습니까? WinApi를 사용하여 부모/소유자/포커스를 설정하려했지만 결과가 없습니다.

답변

0

"VB6 창"또는 "NET 창"과 같은 것은 없습니다. 이들 모두는 다른 속성을 가진 기본 창입니다.

다른 창에서 포커스를 잃어 버리면 messageqeue 또는 창 상속이 올바르게 설정되지 않습니다. 하나의 기본 창과 X 하위 창을 갖는 것이 좋습니다. 많은 경우 원하는 경우 z 순서를 추가 할 수 있습니다. windows ... win32-GIMP는 그것을 사용합니다. 단지 나던 한두 센트입니다. 당신이 소화 방법을 원하는 경우 Window styles

그리고 : CreateWindow()이 특히 WS_CHILD가 필요합니다 :

당신은 매개 변수를 통해 메인 윈도우의 HWND를 전달할 수 있습니다,이 문서는 당신에게 적합한 매개 변수 목록에 대한 몇 가지 통찰력을 제공한다 and-forget solution : 대화 상자로 전환 : DialogBox() -> 모달 대화 상자가 생성되어 한 단계에서 모든 문제를 해결할 수 있습니다 ... 다소 특별한 창, 즉 out-of-the-box 기능은 가격에 제공됩니다 ...