如何将GLFW创建的子窗口添加到C#面板?

时间:2015-05-05 14:37:15

标签: c# glfw

我已经获得了C#创建的父窗口的句柄,这里是代码:

window->win32.dwStyle = WS_CLIPSIBLINGS | WS_CLIPCHILDREN LWS_CHILDWINDOW| WS_VISIBLE;
window->win32.dwExStyle = WS_EX_APPWINDOW | WS_EX_WINDOWEDGE;
CreateWindowExW(window->win32.dwExStyle,
                _GLFW_WNDCLASSNAME,
                wideTitle,
                window->win32.dwStyle,
                xpos, ypos,
                fullWidth, fullHeight,
                window->win32.parentHandle, // will modified
                NULL, // No window menu
                GetModuleHandleW(NULL),
                window); // Pass object to WM_CREATE

但是它不会工作,也不会显示窗口。我猜它可能是dwStyle和dwExStyle。

1 个答案:

答案 0 :(得分:1)

您需要调用ShowWindow进行显示。你刚创建,但你没有显示

HWND hwnd=CreateWindowExW(window->win32.dwExStyle,
                _GLFW_WNDCLASSNAME,
                wideTitle,
                window->win32.dwStyle,
                xpos, ypos,
                fullWidth, fullHeight,
                window->win32.parentHandle, // will modified
                NULL, // No window menu
                GetModuleHandleW(NULL),
                NULL); // //here is NULL
ShowWindow(hwnd, nCmdShow);//nCmdShow is int
UpdateWindow(hwnd);//For sure you update window.