【发布时间】:2010-03-21 17:42:04
【问题描述】:
我主要在 Carbon 包中使用 wxWidgets 编写插件程序,该包是
在运行时加载。运行我的插件的主机应用程序
提供本机窗口句柄 (WindowRef),我可以使用它来添加我的自定义,
基于 wxWidgets 的 GUI 类。
在 wxWidgets 中使用原生窗口句柄
我必须编写一个 wxTopLevelWindow 包装类,它完成所有
WindowRef 封装。到目前为止,这工作得很好,但在某些情况下
如果窗口在wxGLCanvas 内出现垂直鼠标偏移
本机窗口句柄的类不是“kFloatingWindowClass”类型。
如果我显示一个信息面板 (wxPanel)
整个wxGlCanvas,如果用户隐藏信息面板,则鼠标偏移
没了。
现在我的问题:
- 对这种行为有“简单”的解释吗?
- 是否可以使用某些方法调用来模仿信息面板效果
不使用面板本身?我尝试了
Update()和的几种组合Refresh()调用所有涉及的组件,但到目前为止它们都没有工作。 即使使用wxSizer也无济于事。
插件应用程序使用的窗口层次结构:
wxCustomTopLevelWindow(宿主应用程序提供的WindowRef) wxPanel(所有应用程序面板的父窗口) wxPanel(应用程序信息面板) wxPanel(应用程序主面板) wxPanel(opengl 主面板) wxGlCanvas(主要的opengl画布)有什么想法吗?非常感谢任何帮助。
【问题讨论】:
标签: opengl mouse wxwidgets macos-carbon wxglcanvas