将ue4程序嵌入qt界面显示
来源:http://www.tudoupe.com时间:2022-07-01
窗口编程
要求:将ue4程序嵌入 qt接口
想法:使用 windowsAPI来设置ue4窗口,以跟踪qt接口和在窗口运行时的位置序列
结果:
1.打开程序获取手柄设置模式
函数:
- 获取窗口句柄:
HWND FindWindow(L"class name",L"window title")数据可以通过“当前词汇”软件获得 -
设置窗口风格:
SetWindowLong(HWND, GWL_STYLE, LONG dwNewLong) - 获取窗口样式:
GetWindowLong(HWND, GWL_STYLE) - 窗口样式宏
2.等待显示移动位置
这里没有使用 createWindowContainer,与ue4有鼠标键盘交互问题
函数:
- 移动窗口 :
在获得手柄之前等待窗口出现
3.Timer时间显示窗口到顶部
函数:
- 设置窗口位置:
当主窗口和ue程序是主动的窗口时,hWndInsertAfter设置为HWND_TOPMOST,uFlags设置为SWP_NOACTIVATE只显示不激活
当主窗口不是主动窗口时,hWndInsertAfter设置为( HWND )this->winId()或者HWND_BOTTOM,uFlags设置为SWP_ASYNCWINDOWPOS异步调用
4.重写QWidget事件
函数:
-
设置窗口显示:
ShowWindow(HWND, int nCmdShow)
设置nCmdShow:显示不激活为SW_SHOWNOACTIVATE,隐藏为SW_HIDE
5.源码
pro文件中加入:
LIBS += -luser32
头文件:
源文件:
相关新闻
- 2022-08-04 WPF的由来
- 2022-08-04 Win11勒索软件防护怎么打开?Win11安
- 2022-08-04 Windows系统jdk的配置
- 2022-08-04 Windows10 OneNote怎么重新登录?如何重
- 2022-08-04 超好用的 Windows 效率工具推荐
- 2022-08-04 Windows如何在CMD或PowerShell中配置代理
- 2022-08-04 powershell和cmd对比
- 2022-08-04 【QT】Windows下QT下载安装
- 2022-08-04 windows下 C++ 实现类属性的get和set方
- 2022-08-04 Win11快速助手在哪里?Win11打开快速
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
