新建一个单文档的程序,默认生成即可。再如下:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
/* //auto
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
*/
#define BUTTON_SIZE 64
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | TBSTYLE_WRAPABLE | CBRS_TOOLTIPS |CBRS_FLYBY | CBRS_SIZE_DYNAMIC |CBRS_BORDER_3D| TBSTYLE_AUTOSIZE) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
/*
SIZE x = {BUTTON_SIZE, BUTTON_SIZE};
CSize ToolBtnSize(x);
m_wndToolBar.GetToolBarCtrl().SetButtonSize(ToolBtnSize);
m_wndToolBar.SetHeight(BUTTON_SIZE);
*/
m_wndToolBar.SetButtonText(m_wndToolBar.CommandToIndex(ID_FILE_NEW), "н¨Îĵµ");
m_wndToolBar.SetButtonText(m_wndToolBar.CommandToIndex(ID_FILE_OPEN), "2");
m_wndToolBar.SetButtonText(m_wndToolBar.CommandToIndex(ID_FILE_SAVE), "3");
m_wndToolBar.SetButtonText(m_wndToolBar.CommandToIndex(ID_EDIT_CUT), "4");
m_wndToolBar.SetButtonText(m_wndToolBar.CommandToIndex(ID_EDIT_COPY), "5");
m_wndToolBar.SetButtonText(m_wndToolBar.CommandToIndex(ID_EDIT_PASTE), "6");
m_wndToolBar.SetButtonText(m_wndToolBar.CommandToIndex(ID_FILE_PRINT), "7");
m_wndToolBar.SetButtonText(m_wndToolBar.CommandToIndex(ID_APP_ABOUT), "8");
m_wndToolBar.SetButtonText(m_wndToolBar.CommandToIndex(ID_TOOLBAR_NEW_BTN), "9");
#define ICON_SIZE 32
CImageList img;
img.Create(ICON_SIZE,ICON_SIZE,ILC_COLOR32|ILC_MASK,1,1);
img.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
img.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
img.Add(AfxGetApp()->LoadIcon(IDI_ICON3));
img.Add(AfxGetApp()->LoadIcon(IDI_ICON4));
img.Add(AfxGetApp()->LoadIcon(IDI_ICON5));
img.Add(AfxGetApp()->LoadIcon(IDI_ICON6));
img.Add(AfxGetApp()->LoadIcon(IDI_ICON7));
img.Add(AfxGetApp()->LoadIcon(IDI_ICON8));
img.Add(AfxGetApp()->LoadIcon(IDI_ICON9));
m_wndToolBar.GetToolBarCtrl().SetImageList(&img); // ¼ÓÔØºó¼´ÏÔʾÐÂͼ±ê
img.Detach();
//m_wndToolBar.SetButtonInfo(m_wndToolBar.CommandToIndex(ID_FILE_NEW), ID_FILE_NEW, TBSTYLE_BUTTON,0);// ¿É¸ü¸Äͼ±ê
CRect rect;
m_wndToolBar.GetItemRect(0, &rect);
m_wndToolBar.SetSizes(rect.Size(),CSize(ICON_SIZE, ICON_SIZE));
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
// TODO: Delete these three lines if you don't want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_TOP);
EnableDocking(CBRS_ALIGN_TOP);
DockControlBar(&m_wndToolBar);
return 0;
}
图标,我用的是16*16的。