I'm writing a Rust binding for voidtools' Everything plugin SDK. It allows the plugin to add custom config pages, by providng the HWND, WNDPROC and resizing callbacks. I'm looking for a Rust GUI library to make creating the config GUI easier and more flexible. Winio seems to be a suitable choice, relatively lightweight and has enough widgets.
There is a problem though. Hosting a Winio window inside the same GUI thread as the main program looks hard to do. So I tried to create another GUI thread and host Winio runtime there. It basically works after setting the parent window. But I can't make it a child window instead of an overlapped window, since Window doesn't support specifying the parent when creating, and
If you specify the WS_CHILD style in CreateWindowEx but do not specify a parent window, the system does not create the window.
Is it possible to add an interface to specifying the parent of Window? Also, do you think there are any other caveats when using Winio this way, like about layouting and cross-thread communication?

I'm writing a Rust binding for voidtools' Everything plugin SDK. It allows the plugin to add custom config pages, by providng the HWND, WNDPROC and resizing callbacks. I'm looking for a Rust GUI library to make creating the config GUI easier and more flexible. Winio seems to be a suitable choice, relatively lightweight and has enough widgets.
There is a problem though. Hosting a Winio window inside the same GUI thread as the main program looks hard to do. So I tried to create another GUI thread and host Winio runtime there. It basically works after setting the parent window. But I can't make it a child window instead of an overlapped window, since
Windowdoesn't support specifying the parent when creating, andIs it possible to add an interface to specifying the parent of
Window? Also, do you think there are any other caveats when using Winio this way, like about layouting and cross-thread communication?