Dobrý den,
v již existující aplikaci, ke které jsem přišel, chybí vazby child a jeho parent. To nedělá dobrotu když chci getnout top window.
Udělal jsem si vb6 projekt (existující aplikace je vb6, nikoliv však MDI..), kde jsem nastavení vazby chtěl odladit.
Šel jsem podle tohoto návodu:
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setparentV okně(Formu) po spuštění mám tlačítko s obsluhou:
Private Sub Command2_Click()
Dim dlg As Form
Set dlg = New Form2
Dim result As Long
result = GetWindowLong(hWnd, GWL_STYLE)
result = result - (result And WS_CLIPCHILDREN)
SetWindowLong hWnd, GWL_STYLE, result
dlg.SetParentWindow Me.hWnd
dlg.Show vbModal
Set dlg = Nothing
End Sub
SetParentWindow ve Form2 mam potom:
Public Sub SetParentWindow(ByVal hWndParent As Long)
Dim result As Long
result = GetWindowLong(hWnd, GWL_STYLE)
result = result - (result And WS_POPUP)
result = result Or WS_CHILD
result = SetWindowLong(hWnd, GWL_STYLE, result)
result = SetParent(hWnd, hWndParent)
result = SendMessage(hWndParent, WM_CHANGEUISTATE, (UISF_ACTIVE * 65536) + UIS_SET, 0)
End Sub
Bohužel na řádce:
result = SetParent(hWnd, hWndParent)
Form2 zmizí nevím kam.
Prosím poradíte mi někdo, co by mohlo být špatně?
Díky