win32平台无边框窗体拖动问题

如题,我希望创建一个在Windows平台的无边框窗体游戏,经过一番网上查找已经解决无边框窗口的创建操作 现贡献于论坛

在CCGLViewImpl-Desktop.cpp的bool GLViewImpl::initWithRect方法中,添加

    glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
    glfwWindowHint(GLFW_DECORATED, GL_FALSE);

在该方法setFrameSize(rect.size.width, rect.size.height);后面添加

if (!this->isFullscreen()) {
    const auto monitorSize = this->getMonitorSize();
    glfwSetWindowPos(_mainWindow, (monitorSize.width - rect.size.width) / 2, (monitorSize.height - rect.size.height) / 2.5);
}

即可实现无边框窗体

但是我也遇到了问题 我希望窗体保留鼠标拖动的功能,由于在上述语句中已经去掉了Windows窗体管理器,所以只能在GL View中下手

参考了https://blog.csdn.net/xpg4321/article/details/67633260中博主的做法,在文章最后一句

pEGLView->setWndProc(winProc);

该方法在4.0版本中已经不可寻 我该怎么处理 ?大家有什么可以拖动无边框窗体的办法吗? 在线求教众网友 。谢谢大家

我已经找遍了所有平台(包括某宝、谷歌等) 依然未寻找到答案 网上资料少之又少 请求大家帮忙解答 谢谢

glfw管理了win消息吧,教程里是拦截点击测试的win32消息:WM_NCHITTEST这玩意儿貌似hook不到只能SetWindowLong(hwnd, GWL_WNDPROC,winproc)。你可以自己实现点击位置测试和移动实现

大家还有其他什么好的解决办法吗QAQ 求指教

这个我以前写过,不过我是用的自己检测点击区域再实现拖动的