【问题标题】:CMFCToolbar image disappears through remote desktop or when connected to projectorCMFCToolbar 图像通过远程桌面或连接到投影仪时消失
【发布时间】:2015-05-22 01:16:13
【问题描述】:

我在从 CDialog 派生的对话框中使用 CMFCToolbar,并使用 LoadBitmap() 在工具栏上加载图像。当我运行应用程序时,图像可以正常显示。但是,当我通过远程桌面连接计算机时,图像消失了。当计算机长时间处于空闲状态或进入睡眠模式时,也会出现同样的问题。这只发生在 CMFCToolbar 上。所有其他工具栏都可以正常显示。

经过一些调试,我有以下观察结果(虽然很奇怪)。我可以发现,只要在 OnSize() 事件(在我的对话框中重载)中发生某些异常(例如,在 NULL 指针上调用 SetWindowPos()),图像就不会消失。这意味着 Windows 在异常后停止进一步的调用并且问题不会发生。但是,如果没有异常,则 OnSize() 会成功评估并出现此问题。我尝试删除 OnSize() 事件但没有成功。

【问题讨论】:

    标签: visual-c++ mfc


    【解决方案1】:

    我终于可以弄清楚并解决问题了。我正在使用 LoadBitmap() 加载 PNG 图像。在我连接到远程桌面或投影仪或计算机从睡眠模式唤醒之前,它工作得非常好。当我用 BMP 文件替换 PNG 文件时,问题得到了解决。尽管 PNG 文件在正常工作流程中工作,但在这些情况下似乎无法与 CMFCToolbar 控件一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      • 2017-11-23
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多