Mfc 调用ForceRecalLayout后崩溃/断言

Mfc 调用ForceRecalLayout后崩溃/断言,mfc,mfc-feature-pack,cmfcribbonpanel,Mfc,Mfc Feature Pack,Cmfcribbonpanel,我已将Ribbon添加到现有的MFC应用程序中 功能区是使用编辑器创建的 在其中一个面板中,我有一个自定义的CMFCRibbonGallery(派生自),其内容(图标)会动态更改。(与Excel中的样式库非常相似 每次更改我调用ForceRecalLayout的内容后,大多数情况下都会在m_Phighletted或m_pPressed上生成断言。请参阅随附的snaphot1.jpeg,在调用ForceRecalLayout时,当我将鼠标移到功能区库元素(展开模式弹出窗口)上时,会发生此断言。 在

我已将Ribbon添加到现有的MFC应用程序中

功能区是使用编辑器创建的

在其中一个面板中,我有一个自定义的CMFCRibbonGallery(派生自),其内容(图标)会动态更改。(与Excel中的样式库非常相似

  • 每次更改我调用ForceRecalLayout的内容后,大多数情况下都会在m_Phighletted或m_pPressed上生成断言。请参阅随附的snaphot1.jpeg,在调用ForceRecalLayout时,当我将鼠标移到功能区库元素(展开模式弹出窗口)上时,会发生此断言。
  • 在不同的用例中,如果我使用关联菜单将子项(如Excel样式库中的“新单元格样式”)添加到QAT,然后尝试创建新的单元格样式,我会在CMFCRibbonButton上获得断言。请参阅snapshot2.jpg
    仅更改图标即可使功能区无效

    仅当单个项目的大小发生更改时,才需要调用RecalcLayout


    我看没有理由调用ForceRecalLayout。

    我在我正在处理的代码中没有使用任何ForceRecalLayout,我一直使用CMFCRibbonBar::RecalLayout方法,它对我迄今为止所做的任何事情都有效,也许它不正确,但有效=)还有,那些快照在哪里,我在你的帖子中看不到它们