if (!m_wndToolBar.CreateEx(
this,
TBSTYLE_FLAT,
WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC|CBRS_BORDER_TOP) || !m_wndToolBar.LoadToolBar(IDR_TOOLBAR))
{
TRACE0("Failed to create toolbar/n");
return -1;
}
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
// Get bitmap
CBitmap cBitmap;
HBITMAP hBmp = (HBITMAP)::LoadImage(
AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDB_NORMAL_TB),
IMAGE_BITMAP,
0,
0,
LR_CREATEDIBSECTION | LR_LOADMAP3DCOLORS);
cBitmap.Attach(hBmp);
m_tbImageList.Create(48, 48, ILC_MASK | ILC_COLOR32, 0, 0);
m_tbImageList.Add(&cBitmap, RGB(192,192,192));
m_wndToolBar.GetToolBarCtrl().SetImageList(&m_tbImageList);
cBitmap.Detach();
DeleteObject(hBmp);
// Add disable bitmap
hBmp = (HBITMAP)::LoadImage(
AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDB_DISABLE_TB),
IMAGE_BITMAP,
0,
0,
LR_CREATEDIBSECTION | LR_LOADMAP3DCOLORS);
cBitmap.Attach(hBmp);
m_tbDisableImages.Create(48, 48, ILC_MASK | ILC_COLOR32, 0, 0);
m_tbDisableImages.Add(&cBitmap, RGB(192,192,192));
m_wndToolBar.GetToolBarCtrl().SetDisabledImageList(&m_tbDisableImages);
cBitmap.Detach();
DeleteObject(hBmp);
// Disable Up button
m_wndToolBar.GetToolBarCtrl().EnableButton(ID_VIEW_UP, FALSE);
return TRUE;
工具条添加图标与变灰(禁用)
最新推荐文章于 2025-07-10 15:40:09 发布
本文介绍如何使用MFC创建一个自定义工具栏,并加载正常状态和禁用状态下的位图资源,设置工具栏的样式及调整按钮状态。
6595

被折叠的 条评论
为什么被折叠?



