我在使用 VCL 样式时遇到了一个非常奇怪的问题。有时,当使用预定义的样式启动程序或稍后设置一个时,一个或一些程序窗口会消失。
这非常随机发生,可能每 10-20 次发生一次,而不是在任何特定窗口中。我在运行时打开了 2 个表单,有时是一个,有时是另一个。
发生这种情况时,我会在窗口不可见时检查一些属性,Visible 属性为 true,窗口边界正确;如果我尝试通过 Aero DWM 实时缩略图显示窗口.. 它也是空的;但是,如果我捕获窗口 DC,我会得到一个带有窗口的位图,就好像它正常显示一样(并且已应用样式)。
它没有显示任何错误,没有警告,没有异常......似乎没有任何问题,只是窗口不存在。如果我将鼠标悬停在任务栏按钮上以查看预览,它会显示该框,但它是空的。
任何想法要检查什么?
编辑:调用 RecreateWnd 将问题修复为临时解决方法,但是,它可能会再次失败。