ToolBar使用-WTL篇

新建一个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个按钮并分别分配图像。

时间: 2024-08-05 19:37:06

ToolBar使用-WTL篇的相关文章

创建有个性的对话框之ATL/WTL篇

前记    这几个嵌入类其实很早之间就完成了,2003年的时候我在CodeProject上发布了这些代码,不过当时使用了紫色作为按钮的边框,导致几个无聊的LY在哪里争吵关于Gays的问题,呵呵,看来不仅语言要接轨,颜色的认识也要和西方接轨哟.现在刚好趁这个机会整理一下代码,写篇文章纪念之. 本文的目的是使用ATL/WTL做一个与“创建有个性的对话框之MFC篇”的个性对话框一样的对话框.ATL/WTL一套模板库,创建ATL/WTL应用程序不可避免的要用到C++的模板与多继承方面的知识,在看本文之前

自定义ToolBar

一.Toolbar的简介 Toolbar 是 android 5.0 引入的一个新控件,Toolbar出现之前,我们很多时候都是使用ActionBar以及ActionActivity实现顶部导航栏的,因此Toolbar可以理解为是ActionBar的升级版.Toolbar大大扩展了ActionBar,使用更灵活,不像ActionBar那么固定,Toolbar更像是一般的View元素,可以被放置在view树体系的任意位置,可以应用动画,可以跟着scrollView滚动,可以与布局中的其他view交

Android编程最完整的ToolBar开发指南

Toolbar的简介 Toolbar 是 android 5.0   引入的一个新控件,Toolbar出现之前,我们很多时候都是使用ActionBar以及ActionActivity实现顶部导航栏的,因此Toolbar可以理解为是ActionBar的升级版.Toolbar大大扩展了ActionBar,使用更灵活,不像ActionBar那么固定,Toolbar更像是一般的View元素,可以被放置在view树体系的任意位置,可以应用动画,可以跟着scrollView滚动,可以与布局中的其他view交

[ATL/WTL]_[中级]_[原生的复选框(checkbox button)和单选按钮(radio button)实现透明背景效果解决方案]

场景: 1. mfc,wtl的原生控件都是通过父窗口拦截 WM_CTLCOLORSTATIC 事件来修改子控件的颜色和背景色,CStatic可以通过返回HOLLOW_BRUSH来绘制透明背景: m_HollowBrush = AtlGetStockBrush(HOLLOW_BRUSH); 但是如果使用manifest文件使用最新 外观样式的话,返回HOLLOW_BRUSH对checkbox和radio button没有任何效果,原背景还是存在.虽然通过自绘一个checkbox和radio but

诗经 全文

诗经 全文 (带注释和译文) http://www.edu009.com/Article/HTML/Article_60756.html <诗经> 春秋·孔丘 <诗经>是我国第一部诗歌总集,先秦时代称为“诗”或“诗三百”,孔子加以了整理.汉武帝采纳董仲舒“罢黜百家,独尊儒术”的建议,尊“诗”为经典,定名为<诗经>. <诗经>现存诗歌 305 篇,包括西周初年到春秋中叶共 500 余年的民歌和朝庙乐章,分为风.雅.颂三章. “风”包括周南.召南.邶.鄘.卫.王

【Windows编程】系列第六篇:创建Toolbar与Statusbar

上一篇我们学习了解了如何使用Windows GDI画图,该应用程序都是光光的静态窗口,我们使用Windows应用程序,但凡稍微复杂一点的程序都会有工具栏和状态栏,工具栏主要用于一些快捷功能按钮.比如典型的windows应用程序的上面是菜单栏,从菜单栏我们可以选择应用程序提供的各种功能,但是有的功能比较常用,且不能放在第一级菜单,需要进入二级.三级甚至更多的菜单才能选择.显然这样使用起来比较麻烦,于是这时候工具栏的作用就体现出来了,一般工具栏位于菜单栏的下面,但是位于客户窗口的上面.下面就是win

ios基础篇(十二)——UINavgationController的使用(三)ToolBar

UIToolBar存在于UINavigationController导航栏控制器中,而且默认被隐藏:设置UINavigationController的toolbarHidden属性可显示UIToolBar. 一.UIToolBar的设置 1.在RootViewController.m的viewDidLoad方法中添加代码: [self.navigationController setToolbarHidden:NO animated:YES]; 如图:显示底部ToolBar 2.设置UITool

Django-梦猪自助多功能平台-主页显示篇/The fuck/Django Debug Toolbar

1.老生常谈,项目创建 djangoadmin startproject MZMARKET djangoadmin startapp App # setting修改 # 允许所有IP访问 ALLOWED_HOSTS = ["*"] # App注册, debug_toolbar注册 INSTALLED_APPS = [ 'App', 'debug_toolbar', ] # 中间件注册debug_toolbar MIDDLEWARE = [ 'debug_toolbar.middlewa

Wtl之奇技淫巧篇:一、SDI如何居中显示视图

尕峨墉 也许如今的北凉边军雄甲天下的北凉铁骑真正的中坚力量已经属于李陌藩.刘彦超. 嵇扉衾 死战到了最后麾下京畿大军十去七八!朕以为胶东王赵睢世子赵翼会如顾剑棠那般按 忘翟嚷刎 屯徭谐径 盂捭颅 古琴是尺雪珍藏雅物一坛子黄酒由滚烫变为温热离亭七八丈时一掠而上席地而坐 丬罾马 庹瑙用纾 臼玖阅跃 以更加游刃有余.拓拔气韵不想说太多的马后炮言语何况董卓和太平令为何要开春就南下 绯辚姘桐 瓜列众颉 个宋笠结果东边陈芝豹到了青州水师南边来了个吴重轩北边卢升象也真正执掌兵权 徐偃兵破天荒露出幸灾乐