`
webcode
  • 浏览: 5945582 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多


相信使用过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); //停靠工具栏


基于对话框的特色工具栏的具体步骤就这些剩下的就要自己扩展了理清思路 就不纠结了希望能帮助 和我一样的新手

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics