【发布时间】:2015-06-02 12:52:16
【问题描述】:
我正在尝试在 dll 中创建一个带有工具栏的新框架窗口。 我能够创建框架和工具栏,但是消息在 CToolbar 中无法正常工作。特别是在 DLL 中永远不会调用 ON_UPDATE_COMMAND_UI 消息。 经过一番研究,我开始知道这是因为 PreTranslateMessage(MSG* pMsg) 和 OnIdle(LONG lCount)
需要调用。 但我的调用应用程序是基于 Delphi 的,无法做到这一点。
经过研究,我知道这是最好的扩展 dll。 由于只能从 MFC 应用程序调用 MFC 扩展 dll。我想到了以下解决方案。
Delphi 调用一个常规的 MFC dll MFC dll 调用 Extension dll。
但由于 MFC AfxGetResourceHandle() 和 AfxGetInstanceHandle() 中的断言,我遇到了问题。
但我也知道 AFX_MANAGE_STATE(AfxGetStaticModuleState());无法从扩展 dll 调用。
有人有解决这个问题的方法吗?
【问题讨论】:
-
我怀疑这会有所帮助。您需要更改消息循环。哪个在主机 exe 中。