一个浮动、分行工具栏的实现

来源:互联网 发布:免费的u盘数据恢复软件 编辑:程序博客网 时间:2024/05/22 11:10

定义:CToolBar m_MyToolBox;

在OnCreate()函数中创建工具栏:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){if (CFrameWnd::OnCreate(lpCreateStruct) == -1)return -1;if (!m_wndStatusBar.Create(this)){TRACE0("未能创建状态栏\n");return -1;      // 未能创建}m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));/*第一方法:工具栏的创建和加载过程   CBRS_SIZE_FIXED是关键*/if (!m_MyToolBox.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_FIXED) ||!m_MyToolBox.LoadToolBar(IDR_TOOLBAR1)){TRACE0("未能创建工具栏\n");return -1;      // 未能创建}m_MyToolBox.EnableDocking(CBRS_ALIGN_ANY);EnableDocking(CBRS_ALIGN_ANY);/*通过工具栏按钮属性设置,每隔2个按钮换一行*/m_MyToolBox.SetButtonStyle(1,TBBS_BUTTON|TBBS_WRAPPED);m_MyToolBox.SetButtonStyle(3,TBBS_BUTTON|TBBS_WRAPPED);m_MyToolBox.SetButtonStyle(5,TBBS_BUTTON|TBBS_WRAPPED);m_MyToolBox.SetWindowText("工具");FloatControlBar(&m_MyToolBox,CPoint(100,300));CRect rect;m_MyToolBox.GetItemRect(0,rect);m_MyToolBox.SetSizes(CSize(rect.Width(),rect.Height()),CSize(16,15));return 0;}

如下图:



附上工具栏一些属性说明:

1、m_MyToolBox.CreateEx()第二个参数的属性设置:



2、m_MyToolBox.CreateEx()第三个参数的属性设置:


原创粉丝点击