老师的项目需要一个下拉的toolbar,类型是cmfcdropdowntoolbar。
这个问题困扰我很久了,实在不知道该怎么解决,如果有大侠知道,还望指点迷津。
(很奇怪的是在台式机上运行的程序按钮一切正常,选择toolbar中的按钮切换按钮显示都正常,在笔记本上就变成了上面这种情况)
老师的项目需要一个下拉的toolbar,类型是cmfcdropdowntoolbar。
这个问题困扰我很久了,实在不知道该怎么解决,如果有大侠知道,还望指点迷津。
(很奇怪的是在台式机上运行的程序按钮一切正常,选择toolbar中的按钮切换按钮显示都正常,在笔记本上就变成了上面这种情况)
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
这个问题可能是因为你的应用程序在不同的平台(Windows和Mac)上的实现方式不同。如果你的应用程序使用了MFC库,并且想要在2D和3D模式之间切换,那么你需要在不同的平台上使用不同的函数来创建和显示工具栏。
对于Windows平台,你可以使用CWnd::GetDlgItem
函数来获取一个控件ID,并通过这个ID来访问一个特定的窗口对象。然后,你可以在那个窗口对象中调用ShowWindow
函数来改变它的可见性。
例如:
HMENU hMenu = (HMENU)wnd.GetDlgItem(IDC_TOOLBAR);
if (hMenu != NULL)
{
ShowWindow(hMenu, SW_HIDE); // 设置为隐藏状态
}
else
{
MessageBox(NULL, L"Failed to get the tool bar", L"Error", MB_OK | MB_ICONERROR);
}
这将使所有的工具栏按钮变为不可见。如果你想让它们重新可见,你可以再次设置它们为可见。
if (hMenu != NULL)
{
ShowWindow(hMenu, SW_SHOW); // 设置为可见状态
}
对于Mac OS X平台,你可以使用NSControl
类来创建和管理控件。但是请注意,MFC库不支持直接在Mac上使用,因此你可能需要使用其他的方法来处理这些控件。
如果你仍然无法解决问题,请提供更多的信息,比如你的应用程序的具体实现以及你在哪个平台遇到的问题。这样我才能更准确地帮助你解决问题。