Form2.Show vbModeless, Form1
의 Win32 등가물을 사용하면 임의의 hWnd에 소유자 (부모가 아닌)를 설정하고 기본 위치를 설정할 수 있습니까?
알고있는 한, 창을 만들 때만 설정할 수 있습니다.VB6 양식의 소유자로 창 핸들 사용
답변
DevX에서이 기사를 찾았습니다. 당신의 질문은 거의 그대로입니다.
나는 당신이 성취하려고하는 것이 확실하지 않지만, SetParent 기능을 찾고 있다고 생각합니다. hWndChild
Declare Function SetParent Lib "user32.dll" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
는 자식 창에 대한 핸들입니다.
hWndNewParent은 새 상위 핸들입니다. 바탕 화면을 소유자로 만들려면 null을 전달하십시오 (정확하게 기억한다면 0).
자세한 내용은 here에서 확인할 수 있습니다.
아니요, 소유자 (모달, 일부 포커스 등)를 사용할 수 없도록 설정하고 부모 (다른 창에 임베드 됨)를 설정하지 않으려 고 시도했습니다. 고마워요. – Deanna
예, 최상위 창에 적합합니다. 소유자 윈도우를 설정하려면 SetWindowLongPtr()보다 SetParent()를 사용하는 것이 좋습니다. –
@Hans - 틀렸어. SetParent를 사용하여 소유자 윈도우를 설정할 수 없으므로 최상위 창도 'hWndNewParent'창에서 상위 처리됩니다. –
나는'.Show'은 CreateWindow 함수 [예]에서 – Deanna
그렇다 (물론 계정에 여러 개의 모니터를 촬영)를 호출하기 전에 나 자신을 배치하여 지금은이 문제를 가지고, 당신은'SetWindowLong 함수를 [사용할 수 있습니다 Ptr]'과'GWL_HWNDPARENT'을 'nIndex'로 설정하여 소유자 윈도우를 설정합니다. –