Hi @Darkforce_the_ilogic_guy. I have used a trick to put various dialogs into a DockableWindow before, but it is not usually a very good result. There is a vb.net function that I include in my code that is used in the process to get the numerical handle of a dialog window by its 'caption'.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal ClassName As String, ByVal WindowName As String) As Long
That function separate from the 'Main' routine, and is called (used) within the 'Main' routing to get the handle of the dialog, by the caption of the dialog. Then, once I have a reference to the DockableWindow I want to put it in, I specify that handle in the AddChild method.
I have used that trick to put simple internal or global iLogic forms into a DockableWindow, and have also put the parameters dialog into one. Usually not the best way to go for any sort of long term solution, but simply shows what is possible. The following is an example that shows a 'global' iLogic Form named "Basic Properties", then puts it into a DockableWindow. I believe I posted this in another forum topic before, but lost the link to it. It's not necessarily a 'new' process though.
'Imports System.Windows.Forms
Sub Main
Dim sFormName As String = "Basic Properties"
Dim sWindowInternalName As String = "Basic Properties" 'this MUST be unique
Dim oDWs As Inventor.DockableWindows = ThisApplication.UserInterfaceManager.DockableWindows
Dim iLogicClassIDString As String = "{3BDD8D79-2179-4B11-8A5A-257B1C0263AC}"
Dim oDW As Inventor.DockableWindow = Nothing
Try
oDW = oDWs.Item(sFormName)
Catch
oDW = oDWs.Add(iLogicClassIDString, sFormName, sFormName)
oDW.DisableCloseButton = False
oDW.ShowVisibilityCheckBox = True
'oDW.SetMinimumSize(100, 200)
oDW.SetDockingState(DockingStateEnum.kDockLastKnown)
oDW.Visible = True
End Try
Try : iLogicForm.CloseGlobal(sFormName) : Catch : End Try
Dim oFRV As FormReturnValue = iLogicForm.ShowGlobal(sFormName, FormMode.NonModal)
Dim oHandle As Long = FindWindow(vbNullString, sFormName)
oDW.Clear 'remove previous form from window, if any
oDW.AddChild(oHandle) 'add current form to the window
End Sub
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal ClassName As String, ByVal WindowName As String) As Long
Edit: Found topic, adding link:
https://forums.autodesk.com/t5/inventor-programming-ilogic/how-to-pin-open-form-window-to-the-interf...
There are several other discussions on this forum about pretty much the same thing though. If you do a search on this forum, you will see several similar results, many of which have accepted solutions. Not sure if any involve adding a VBA UserForm into an Inventor DockableWindow specifically though.
Wesley Crihfield

(Not an Autodesk Employee)