在Visual Studio 2015中看不到MFC工具栏图标

时间:2017-01-31 09:08:31

标签: c++ visual-studio-2010 visual-studio-2015 mfc

我们有MFC应用程序,它有工具栏,工具栏在Visual Studio 2010中使用bmp 32色资源文件。此应用程序在VS2010中运行良好。

VS2010 Bitmap file property

在Visual Studio 2015中转换此应用程序后,工具栏图标不可见。 Visual Studio 2015显示格式属性 32bpp BGR

VS2015 Bitmap file property

VS2015位图编辑器有什么变化,或者我在这里缺少一些属性设置?

1 个答案:

答案 0 :(得分:0)

我们能够在创建MFC将接受的工具栏的低资源版本后解决此问题。我们创建了低资源ID,应该引用工具栏资源,它与原始工具栏的布局相对于命令ID,但引用了MFC将接受的低分辨率bmp文件。

在MainFrame :: OnCreate

中更改以下代码
if (!m_wndToolBar.Create(this, WS_CHILD | WS_VISIBLE | CBRS_FLOATING, IDR_LOWRES_RES_ID) || !m_wndToolBar.LoadToolBar(IDR_LOWRES_RES_ID))
{
    TRACE0("Failed to create add fields bar\n");
    return -1;      // fail to create
}
//Added

//Replace imagelist with 32 bit bmp

CToolBarCtrl& ctl = m_wndToolBar.GetToolBarCtrl();

CImageList *pList = ctl.GetImageList();

// Delete low res image list
pList->DeleteImageList();

pList->Create(34, 34, ILC_COLOR32, 32, 0);

ctl.SetImageList(pList);

ctl.AddBitmap(32, IDR_ADD_HIGH_RES_ID);