Создание вертикального CToolBar
Столкнулся с трудностью создания вертикального тулбара. В ресурсы занес иконки 32x32: IDI_CHANNEL, IDI_REPORT.
Для создания использую нижеприведенный код, но что-то в нем не так, потому что тулбар хоть и создается, но иконки не отображаются, а подписи на кнопках серого цвета, словно Disabled.
if (!m_wndLeftToolBar.CreateEx(this, TBSTYLE_FLAT,
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS |
CBRS_LEFT | CBRS_GRIPPER | CBRS_SIZE_DYNAMIC))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
else
{
m_wndLeftToolBar.SetSizes(CSize(55, 55), CSize(32, 32));
COLORSCHEME cs;
cs.dwSize=sizeof(cs);
cs.clrBtnHighlight=GetSysColor(COLOR_3DHILIGHT);
cs.clrBtnShadow=GetSysColor(COLOR_3DDKSHADOW);
m_wndLeftToolBar.SendMessage(TB_SETCOLORSCHEME,0,(LPARAM)&cs);
int nResult;
CImageList ltbImageList;
if (ltbImageList.Create(32,32,ILC_COLOR32,2,2))
{
HICON hIcon;
hIcon = AfxGetApp()->LoadIcon(IDI_CHANNELS);
if (!hIcon)
AfxMessageBox("Error loading icon");
nResult = ltbImageList.Add(hIcon);
if (nResult==-1)
AfxMessageBox("Error adding icon");
hIcon = AfxGetApp()->LoadIcon(IDI_REPORT);
if (!hIcon)
AfxMessageBox("Error loading icon");
nResult = ltbImageList.Add(hIcon);
if (nResult==-1)
AfxMessageBox("Error adding icon");
}
else
AfxMessageBox("Error creating image list");
m_wndLeftToolBar.GetToolBarCtrl().SetImageList(<bImageList);
UINT lbtIDarray[2];
lbtIDarray[0] = ID_VIEW_CHANNELS;
lbtIDarray[1] = ID_VIEW_REPORT;
m_wndLeftToolBar.SetButtons(lbtIDarray, 2);
m_wndLeftToolBar.SetButtonStyle(0, TBSTYLE_BUTTON);
m_wndLeftToolBar.SetButtonStyle(1, TBSTYLE_BUTTON);
m_wndLeftToolBar.SetButtonText(0, "Channels");
m_wndLeftToolBar.SetButtonText(1, "Reports");
}
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить