我们有MFC应用程序,它有工具栏,工具栏在Visual Studio 2010中使用bmp 32色资源文件。此应用程序在VS2010中运行良好。
在Visual Studio 2015中转换此应用程序后,工具栏图标不可见。 Visual Studio 2015显示格式属性 32bpp BGR
VS2015位图编辑器有什么变化,或者我在这里缺少一些属性设置?
答案 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);