我有一个关于如何使用Firebreath开发图像查看器插件的一般问题。为此,我想加入一个GUI框架,比如wxwidget或Qt。GUI可以用来启动一些对话框,在顶部添加工具栏,或者右键单击图像打开上下文菜单。
据我所知,我有一个hwnd手柄,所以我可以在窗户上画画。我也知道我可以对各种事件做出反应,比如鼠标点击或键盘敲击。但我不知道如何添加图形菜单、按钮等。我知道我可以在窗口周围使用html,但这不是我喜欢的路线。
例如,将用户界面离线(在内存中)呈现到图像上,然后在内部跟踪状态,这有意义吗?
有人做过这样的事吗?或者有人能给我一些关于如何完成添加用户界面的见解吗。
假设你只关心窗口,并且假设你不介意使用一个带窗口的插件,这是最简单的(但没有HTML元素可以浮动在插件上),这应该与在任何其他窗口应用程序中创建GUI没有什么不同。
您将看到一个窗口,其中显示AttachedEvent;当DetachedEvent被激发时,您需要停止使用该窗口。许多人在父窗口中创建一个子窗口,并将其用于所有实际的真实代码,这使得使用其他抽象更容易,但基本上就是这样。我不知道如何使用QT或wxwidget,但你可以创建一个HWND的子窗口,让抽象为你做你的事情。
至于它是否会在屏幕外渲染,等等,我不知道;这将完全取决于窗口系统。据我所知,你没有理由需要这样做,大多数事情都只是直接绘制到HWND,但你可以用无数种不同的方法来完成。在我看来,你真正需要的是了解在Windows中绘制的实际工作方式。
我希望这能帮助