您的位置:首页 > 其它

VC制作特色工具栏清晰思路 。。。不再纠结

2011-07-26 16:32 239 查看
相信使用过VC的人都深有感触VC那个恶心的工具栏 ,我们想要在对话框上添加自己的工具栏但是却发现 网上很多例子都写的含糊不清 今天我就给大家
写一个VC特色工具栏
VC 的个性工具栏的制作离不开三个类 CToolBar CToolBarCtrl CImageList

1. CToolBar工具条类 操作工具条的类 而不是工具条上面的按钮

CToolBarCtrl 这个是镶嵌在工具条上面的按钮的类 CToolBar::GetToolBarCtrl()函数返回CToolBarCtrl的引用 从而我们可以来操作工具条上面的按钮

CImageList 这个类大家留心下会发现 很多地方都见过 CListCtrl CTreeCtrl 都见过 我以前也是不知道怎么用因此 很纠结 。。。下面就介绍这个类的用法

下面看步骤 首先定义一个CToolBar 对象

CToolBar m_wndToolBar; //CMyDlg 成员函数
m_wndToolBar.CreateEx( this,TBSTYLE_FLAT , WS_CHILD | WS_VISIBLE | CBRS_ALIGN_LEFT | CBRS_GRIPPER | CBRS_TOOLTIPS,CRect(4,4,0,0));//创建工具栏
m_wndToolBar.LoadToolBar(IDR_TOOLBAR1) ; //加载工具栏资源 我们自己要新增加一个ToolBar 资源

CImageList *list=new CImageList; //这里我就定义指针 不过会导致内存泄露最好是定义为 类成员变量
list.Create(20,20,ILC_COLOR8,0,4); //首先要创建图像列表 好几种重载函数 具体看MSDN
list.Add(...) //增加位图 图标 等等 N个重载函数 这是想图像列表中增加一个位图

m_wmdToolBar.SetImageList(list);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0); //停靠工具栏

基于对话框的特色工具栏的具体步骤就这些剩下的就要自己扩展了 理清思路 就不纠结了希望能帮助 和我一样的新手
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: