标签:
新建一个WTL exe应用工程,工程名为WTL_ToolBar
2、类型选对话框即可
3、点击Finish。工程建好后,直接编译执行:
4、资源编辑器里,将OK Cancel按钮位置移动下,防止与工具条位置冲突。
5、下面正式开始toolbar的使用:
6、资源视图下WTL_ToolBar.rc右键插入资源,弹出的对话框里选择ToolBar,然后点击新建。
然后IDR_TOOLBAR1里画3个位图,属性里分别修改ID为IDR_TBUTTON1 IDR_TBUTTON2 IDR_TBUTTON3
7、对话框所属文件是自动生成的MainDlg.h,类为class CMainDlg
添加成员: CToolBarCtrl m_toolbar;
OnInitDlg里添加InitToolBar();调用,因为我们用InitToolbar函数来初始化toolbar
新建InitToolBar成员函数,这样:
void InitToolBar() { m_toolbar.Create(this->m_hWnd, 0, 0, WS_CHILD | WS_VISIBLE); m_toolbar.SetStyle(CCS_TOP | CCS_NODIVIDER); m_toolbar.AddBitmap(3, IDR_TOOLBAR1); m_toolbar.AutoSize(); }
编译执行,发现根本没有工具条。当然,将对话框背景若改为别的颜色后:
BEGIN_MSG_MAP(CMainDlg) //添加 MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBkgnd) END_MSG_MAP() LRESULT OnEraseBkgnd(UINT, WPARAM, LPARAM, BOOL& /*bHandled*/) { RECT rc; GetClientRect(&rc); HDC dc = GetDC(); HBRUSH br = CreateSolidBrush(RGB(255, 0, 0)); FillRect(dc, &rc, br); DeleteObject(br); ReleaseDC(dc); return 0; }
8、AddBitmap函数里面发送了TB_ADDBITMAP消息,查看MSDN,TB_ADDBITMAP消息作用:Adds one or more images to the list of button images available for a toolbar。它仅是添加一个或多个图像到按钮的图像列表里,它并不会自动生成3个按钮并分别分配图像。
标签:
原文地址:http://www.cnblogs.com/sfqh/p/5086467.html