0

我有一个关于如何使用 Firebreath 开发图像查看器插件的一般性问题。为此,我想合并一个 GUI 框架,如 wxwidget 或 Qt。GUI 将用于启动一些对话框,在顶部添加工具栏,或通过右键单击图像打开上下文菜单。

据我了解,我有一个 hwnd 句柄,因此我可以在窗口上绘图。我也了解我可以对各种事件做出反应,例如鼠标按钮单击或键盘敲击。但它让我无法添加图形菜单、按钮等。我知道我可以在窗口周围使用 html,但这不是我喜欢采取的路线。

例如,将用户界面离线(在内存中)渲染到图像上,然后以某种方式在内部跟踪状态是否有意义?

有没有人做过这样的事情?或者任何人都可以给我一些关于如何完成添加用户界面的见解。

4

1 回答 1

1

假设您只关心 windows 并且不介意使用最简单的窗口插件(但没有 HTML 元素可以浮动在插件上),它应该与在任何其他 windows 应用程序中创建 GUI 没有什么不同。

您将获得一个显示 AttachedEvent 的窗口;当 DetachedEvent 被触发时,您需要停止使用该窗口。许多人在该父窗口内创建一个子窗口,并将其用于所有实际的真实代码,这使得使用其他抽象之一更容易,但这基本上就是它的全部内容。我不知道具体是如何使用 QT 或 wxwidget 来完成的,但您会创建一个给定 HWND 的子窗口,并让抽象为您做事。

至于它是否会在屏幕外渲染东西等等,我不知道;这完全取决于窗口系统。我没有理由知道您需要这样做,而且大多数事情只是直接吸引到 HWND,但是您可以通过无数种不同的方式来做到这一点。在我看来,您真正需要的是了解 Windows 中的绘图实际上是如何工作的。

我希望这会有所帮助

于 2012-07-24T15:21:04.703 回答