我是一个已经存在多年的Windows应用程序的作者。该应用程序使用wxWidgets UI库。对于最新版本,我们升级到Studio 10中的Microsoft c ++编译器和最新的Windows SDK库。我们在应用程序中没有改变太多其他内容。现在,有几个用户报告说,经过一段时间运行应用程序后,菜单会变得疯狂。报告此问题的所有用户都在Windows XP上运行。菜单要么变得庞大,要么填满整个屏幕,并且有一个带有删除线的巨大斜体字体。或者它们变得非常小,所以显示的唯一的东西是向上和向下箭头,表明渲染代码认为屏幕空间太小而无法显示任何其他内容。
您可以在此处找到示例屏幕截图:
菜单变得疯狂后,除标准的Windows和MDI菜单外,所有菜单都会受到影响。恢复的唯一方法是重新启动应用程序。
应用程序中的代码和wxWidgits是标准Windows API之上的薄层。创建菜单后,Windows即可管理渲染。
任何想法出了什么问题?