MFC界面相关(彩色工具栏)

MFC工具栏控件

 创建工具栏步骤:

 (1)在Resource View中插入新toolbar

 (2)在toolbar上双击增加按钮,更改ID为ID_BUTTON,编译后在resource.h中即可看到

          #define    ID_BUTTON1   32771

 (3)在框架类中添加保护的成员变量 CToolBar    m_MyToolBar;

 (4)在框架类的OnCreate中用CreateEx创建工具栏控件(设置属性),加载工具栏资源

   代码如下:

  if (!m_MyToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_LEFT
        | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
        !m_MyToolBar.LoadToolBar(IDR_TOOLBAR1))
    {
        TRACE0("Failed to create toolbar\n");
        return -1;      // fail to create
    }
    m_MyToolBar.EnableDocking(CBRS_ALIGN_ANY);
    EnableDocking(CBRS_ALIGN_ANY);
    DockControlBar(&m_MyToolBar);

 (5)为工具栏按钮添加消息响应函数,否则按钮为灰色

  在框架类Add Window Message Handle, 选择ID_BUTTON,添加消息响应。

  具体添加的代码为:1.框架类的声明中afx_msg void OnButton1();

           2.框架类的源文件中ON_COMMAND(ID_BUTTON1, OnButton1)

           3.框架类的源文件中消息响应函数的实现void CMainFrame::OnButton1() {}

bmp工具栏(开始步骤同上略去)

 (1)在Resource View中添加bitmap (在此之前先用画图工具将bitmap调整至合适大小,如48*48),同样编译后可在

    resource.h中观察到#define   IDB_BITMAP1    132

 (2)在框架类中添加成员变量CImageList  m_imagelist;

 (3)初始化imagelist并将它与CImageList对象联系起来

m_imagelist.Create(48,48,ILC_COLOR32|ILC_MASK,0,0);

   ILC_MASK的作用是将背景色透明。

 (4)加载位图资源并且添加进图像列表imagelist(注意要用deleteObject释放之前加载的资源)

    CBitmap bmp;
    for(int i=0;i<3;++i)
    {
        bmp.LoadBitmap(IDB_BITMAP1+i);
        m_imagelist.Add(&bmp,RGB(255,255,255));
        bmp.DeleteObject();
    }

 (5)构建一个ToolBar 按钮ID的数组

    UINT nArray[3];
    for(int k=0;k<3;++i)
    {
        nArray[k]=ID_BUTTON1+i;
    }

 (6)设置工具栏按钮的ID,按钮与位图的大小

    m_MyToolBar.SetButtons(nArray,3);
    m_MyToolBar.SetSizes(CSize(55,55),CSize(48,48));

复制代码

 (7)设置图像

m_MyToolBar.GetToolBarCtrl().SetImageList(&m_imagelist);

  效果图如下:

更多0

 

时间: 2024-08-29 11:04:25

MFC界面相关(彩色工具栏)的相关文章

请问mfc中如何实现工具栏按钮的自定义添加与删除

问题描述 请问mfc中如何实现工具栏按钮的自定义添加与删除 mfc单文档程序运行后,左上角有一个系统自动生成的工具栏,点击该工具栏右边的小倒三角形,会出现如下图所示的自定义添加或删除按钮的选项 现在我自己创建了一个工具栏,想实现上述功能,请问该怎么做?谢谢~~~ 解决方案 难道你的没有么?你可以试试BCGControlBar,它是CMFCxxx控件的商业完整版本.包含了和Office一样的自定义对话框,不需要写任何代码. 解决方案二: 需要用MFC等提供的框架,才会有,它帮你实现了.你自己创建的

mfc-新人求教,MFC界面怎么输出程序的指令

问题描述 新人求教,MFC界面怎么输出程序的指令 怎么搞清楚上位机和扳卡之间是怎么联系的 ,他们的协议怎么看懂?

绘图-MFC界面新手提问:对话框背景图片和图片控件 的速度问题

问题描述 MFC界面新手提问:对话框背景图片和图片控件 的速度问题 新手美工,正在做前台,想知道在做一个全部由自绘和贴图完成的MFC对话框界面的时候,是直接用大图做背景图片好,还是将图片裁开成小图一个个用图片控件好? 在速度或者其它方面有什么影响吗?真心求教,膜拜大神们!!! 解决方案 关键看你这些图片需要不需要变化,如果不需要变化,还是整个一个背景好,比较简单.2d绘图对于现在级别的显卡,根本没有性能的差异. 解决方案二: 控件越多越慢.但是也要看你的图有多大(比如几M也不行).MFC(第一代

求高手-MFC界面超市库存管理图形界面数组保存怎么弄?

问题描述 MFC界面超市库存管理图形界面数组保存怎么弄? 请高手帮做一个大学生实训用的,用C++MFC实现的<超市库存管理图形界面数组保存>,好像要实现 1.输入记录模块 2.查询记录模块 3.更新记录模块 4.统计记录模块 5.输出记录模块 .越简单越好,请高手帮我弄个直接可以运行的文件包,感谢! 解决方案 http://download.csdn.net/download/jasmine_g/3132404 解决方案二: 谢了!问题是小弟学术不精,那个登录密码,还有后面怎么运行,数据库怎么

mfc界面美化-mfc界面如何美化求教

问题描述 mfc界面如何美化求教 mfc界面如何美化求教 解决方案 如何美化界面(MFC) 1.轻松实现类VC界面 http://www.vckbase.com/document/viewdoc/?id=257 2.用VC++?? MFC 修改外观和大小,图标.光标.背景 http://blog.sina.com.cn/s/blog_50b5d2620100dfze.html......答案就在这里:如何美化界面(MFC) 解决方案二: 使用皮肤库来美化http://download.csdn.

故障诊断软件-怎样往MFC界面上添加波形频谱图?

问题描述 怎样往MFC界面上添加波形频谱图? 因需要做故障诊断软件,其中的界面是显示信号的频谱图,但是在组件界面时,不知道怎样去实现? 解决方案 波形图是读入的数据显示出来的 解决方案二: 采用自定义控件创建背景,在基类中实现双缓冲绘图,即各派生类直接继承...就好啦 解决方案三: 就是自定义控件创建背景,就可以了...

vc++-急求用VC++2005文件写的学生管理系统,不用MFC界面,DOS就可以

问题描述 急求用VC++2005文件写的学生管理系统,不用MFC界面,DOS就可以 大致三个模块,模块功能如下 第一块:登录模块及权限设置模块 (1)管理员/学生登录模块:设置/修改密码:不同类型人员的权限设置(管理员可以修改信息,学生只能查询信息) 第二块:管理员模块 (2)面向管理员的学生信息管理模块:加入学生信息:根据各种特征方便的查找学生信息:学生信息的管理: (3)面向管理员的课程及成绩管理模块:各学年所修课程及其成绩管理. 第三块:学生模块 (4)面向学生的学生信息查询模块:根据各种

《Android 3D 游戏案例开发大全》——6.5节辅助界面相关类

6.5 辅助界面相关类 Android 3D 游戏案例开发大全 前一小节介绍了主控制类TXZActivity,本小节将对该游戏的辅助界面相关类进行介绍,该游戏的辅助界面主要是欢迎界面TXZWelcomeView类.菜单界面TXZMenuView类.设置界面TXZSetView类.帮助界面TXZHelpView类.选关界面TXZSelectView类,以及关于界面TXTAboutView类,下面就对这些类的开发进行详细介绍. 6.5.1 欢迎界面类TXZWelcomeView 欢迎界面是进入游戏的

MFC界面绘图,根据窗口大小缩放自动调整

问题描述 MFC界面绘图,根据窗口大小缩放自动调整 请问在C++ 6.0 MFC中画图,static控件随着窗体缩放,但是为什么里面的图形却不缩放? 解决方案 http://wenku.baidu.com/link?url=IOPlf6OevPFmr-_iCpy-XbbAOu2myDKKurh78HxC8P3AkmWwnmFgeSJraVCyTB-vTs8gVM9EeUNX3f6eNLY7PyTe5b5uWmNvig5uAfEK-oe 解决方案二: static控件是平铺图像内容的,不会自动缩放