我正在为第 3 方程序在 Windows 上实现 C++ 插件。
只要第 3 方程序正在运行,我就需要我的插件来显示 GUI 窗口。
我直接开始用win32编程。这工作正常,我能够创建一个新窗口并注册一个回调函数,即使我将控制权返回给第 3 方程序,它也会接收窗口内的所有窗口事件:
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM) {
...
}
void createWindow() {
WNDCLASS wndclass;
wndclass.lpfnWndProc = WndProc;
...
RegisterClass(&wndclass);
HWND hwnd = CreateWindow(...);
ShowWindow(hwnd, ...);
}
这种方法的问题是win32是低级的,不是面向对象的。 你能推荐一个轻量级和高质量的 GUI 库吗?
早些时候我使用了很多 Qt,它很棒,但据我所知,如果不控制主事件循环就不可能使用 Qt?