我有一个启用了 Feature Pack 的 SDI 项目。该程序有一个菜单栏 ( CMFCMenuBar ) 和四个工具栏 ( CMFCToolBar )。
工具栏工作正常:我为 TB 的按钮分配了等效菜单项的 ID,我在菜单声音上看到了 TB 图像。
现在,当我将鼠标悬停在某些菜单语音(始终相同)上时,我得到了一些随机的工具提示文本,我说随机是因为我搜索了我的项目并且我的解决方案的任何部分都没有写这两个字符串,例如:
我最近在 resource.h 文件中做了一些手动修改,打乱了一些 id ......这可能是一个问题吗?
另外,我试图通过告诉 Menu 不显示工具提示来解决这个问题:
dwStile = m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC/* | CBRS_TOOLTIPS*/ | CBRS_FLYBY;
m_wndMenuBar.SetPaneStyle(dwStile);
但是,正如您在上面的图片中看到的,我根本没有得到任何结果。
知道在哪里可以查找错误吗?
我解决了这个问题。我发现“随机字符串”的第二部分(在 \n 之后)存储在我的程序使用的 DLL 的资源中。虽然 dll 对话框的 ID 范围为 [2000, 2500],但 3 个字符串的 ID 为:1、2、3。
我不记得我在哪里读到这么低的 ID 可能很危险,所以我手动将其更改为 3000、3001 和 3002,这解决了问题。
即使这有效,我也想知道原因,所以请随时编辑答案并添加完整的解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句