Skip to content

Win32 embedding usage #24

@Chaoses-Ib

Description

@Chaoses-Ib

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?

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions