我主要在运行时加载的 Carbon 包中使用 wxWidgets 对插件进行编程。运行我的插件的主机应用程序提供了一个本地窗口句柄 ( WindowRef
),我可以使用它来添加我的自定义、基于 wxWidgets 的 GUI 类。
要将本机窗口句柄与 wxWidgets 类一起使用,我必须编写一个wxTopLevelWindow
包装类,它完成所有
WindowRef
封装。到目前为止,这工作得很好,但在某些情况下,wxGLCanvas
如果本机窗口句柄的窗口类不是“ kFloatingWindowClass
”类型,我会在 a 内获得垂直鼠标偏移。如果我wxPanel
在整体上显示一个信息wxGlCanvas
面板(
现在我的问题:
- 这种行为有“简单”的解释吗?
- 是否可以在不使用面板本身的情况下使用某些方法调用来模仿信息面板效果?我尝试了所有相关组件的几种组合
Update()
和Refresh()
调用,但到目前为止它们都没有奏效。即使在wxSizer
这里使用也无济于事。
插件应用程序使用的窗口层次结构:
wxCustomTopLevelWindow(宿主应用程序提供的WindowRef) wxPanel(所有应用程序面板的父窗口) wxPanel(应用程序信息面板) wxPanel(应用程序主面板) wxPanel(opengl 主面板) wxGlCanvas(主要的opengl画布)
有任何想法吗?非常感谢任何帮助。