CMFCMenuBar 显示错误的工具提示
CMFCMenuBar showing wrong tooltips
我有一个启用了功能包的 SDI 项目。
该程序有一个菜单栏(CMFCMenuBar)和四个工具栏(CMFCToolBar)。
工具栏工作正常:我为 TB 的按钮分配了等效菜单项的 ID,我在菜单语音上看到了 TB 图像。
现在,当我将鼠标悬停在某些菜单声音(总是相同)上时,我得到了一些随机的工具提示文本,我说随机是因为我搜索了我的项目,但我的解决方案的任何部分都没有写这两个字符串,例如:
我最近在 resource.h 文件中进行了一些手动修改,弄乱了一些 ID...这可能是个问题?
另外,我试图通过告诉菜单不显示工具提示来解决这个问题:
dwStile = m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC/* | CBRS_TOOLTIPS*/ | CBRS_FLYBY;
m_wndMenuBar.SetPaneStyle(dwStile);
但是,正如您在上图中所见,我根本没有得到任何结果。
知道在哪里可以查找错误吗?
当您在资源中时 IDE 您可以指定弹出文本是什么:
在上面的例子中我使用了:
Open dialogue to manage and modify talk assignments and various appointments\nManage Talk Assignments
注意到 \n 的用法了吗?这就是将两个文本字符串组件分开的原因。因此,在最终应用中:
因此您应该能够在 IDE 编辑器中正确指定所有文本。
我解决了这个问题。
我发现 "random strings" 字符串的第二部分(在 \n 之后)存储在我的程序使用的 DLL 的资源中。虽然 dll 对话框的 ID 在 [2000、2500] 范围内,但 3 个字符串的 ID 为:1、2、3。
我不记得在哪里读到这么低的 ID 可能很危险,所以我手动将其更改为 3000、3001 和 3002,这解决了问题。
即使这有效,我也想知道为什么,所以请随时编辑答案并添加完整的解决方案。
我有一个启用了功能包的 SDI 项目。 该程序有一个菜单栏(CMFCMenuBar)和四个工具栏(CMFCToolBar)。
工具栏工作正常:我为 TB 的按钮分配了等效菜单项的 ID,我在菜单语音上看到了 TB 图像。
现在,当我将鼠标悬停在某些菜单声音(总是相同)上时,我得到了一些随机的工具提示文本,我说随机是因为我搜索了我的项目,但我的解决方案的任何部分都没有写这两个字符串,例如:
我最近在 resource.h 文件中进行了一些手动修改,弄乱了一些 ID...这可能是个问题?
另外,我试图通过告诉菜单不显示工具提示来解决这个问题:
dwStile = m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC/* | CBRS_TOOLTIPS*/ | CBRS_FLYBY;
m_wndMenuBar.SetPaneStyle(dwStile);
但是,正如您在上图中所见,我根本没有得到任何结果。
知道在哪里可以查找错误吗?
当您在资源中时 IDE 您可以指定弹出文本是什么:
在上面的例子中我使用了:
Open dialogue to manage and modify talk assignments and various appointments\nManage Talk Assignments
注意到 \n 的用法了吗?这就是将两个文本字符串组件分开的原因。因此,在最终应用中:
因此您应该能够在 IDE 编辑器中正确指定所有文本。
我解决了这个问题。 我发现 "random strings" 字符串的第二部分(在 \n 之后)存储在我的程序使用的 DLL 的资源中。虽然 dll 对话框的 ID 在 [2000、2500] 范围内,但 3 个字符串的 ID 为:1、2、3。
我不记得在哪里读到这么低的 ID 可能很危险,所以我手动将其更改为 3000、3001 和 3002,这解决了问题。
即使这有效,我也想知道为什么,所以请随时编辑答案并添加完整的解决方案。