首先删除注册表
HKEY_CURRENT_USER\Software\应用程序向导生成的本地应用程序
之下你这铬软件的配置

CMFCToolBar m_myToolBar;
CMFCToolBarImages m_mfcToolbarImage;

//设置一个ID,不然添加不到菜单的视图工具栏集合
m_myToolBar.CreateEx(this, TBSTYLE_FLAT, dwStyle, CRect(1, 1, 1, 1), 1000);
m_myToolBar.AddToolBarForImageCollection(IDR_TOOLBAR1, IDB_BITMAP1);
CString name;
bNameValid = name.LoadString(IDS_MyToolBar);
ASSERT(bNameValid);
m_myToolBar.SetWindowText(name);
m_myToolBar.SetSizes(CSize(23, 22), CSize(16, 15));//设置按钮大小
m_mfcToolbarImage.SetImageSize(CSize(16, 15), TRUE);

CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);
m_mfcToolbarImage.AddImage(bmp);

bmp.DeleteObject();

//int aa = m_myToolBar.SetUserImages(&m_mfcToolbarImage);

m_myToolBar.RemoveAllButtons();

// 按钮ID 第几个图片
m_myToolBar.InsertButton(CMFCToolBarButton(ID, 0, _T("提示?"), TRUE, 0));// 在这里CMFCToolBarButton()第四个参数需要设置为true,这样在重绘的时候才会,调用自己设置的图像。

m_myToolBar.AdjustSizeImmediate();

//添加组合框
m_myToolBar.InsertButton(CMFCToolBarComboBoxButton(2000, 0), index);

//设置组合框属性
m_comboAddress = (CMFCToolBarComboBoxButton*)m_myToolBar.GetButton(index);
m_comboAddress->EnableWindow(TRUE);
m_comboAddress->SetCenterVert();
m_comboAddress->SetDropDownHeight(100);//设置下拉列表的高度
m_comboAddress->SetFlatMode();

//添加内容
m_comboAddress->AddItem(_T("once"));
m_comboAddress->AddItem(_T("if only"));
m_comboAddress->AddItem(_T("P.S.I Love You"));
m_comboAddress->AddItem(_T("Love Me If You Dare"));
m_comboAddress->SelectItem(0); //默认选中

//添加消息处理映射
ON_COMMAND(IDR_COMBOBOX1, &CMainFrame::OnClickComboBox)
ON_CBN_SELCHANGE(IDR_COMBOBOX1, &CMainFrame::OnSelectChange)

afx_msg void OnClickComboBox();
afx_msg void OnSelectChange();

void CMainFrame::OnClickComboBox()
{//OnClickComboBox没有做任何处理,但是如果去掉的话,组合框将编程灰色,无法使用

}
void CMainFrame::OnSelectChange()
{
CMFCToolBarComboBoxButton* pSrcCombo = CMFCToolBarComboBoxButton::GetByCmd(IDR_COMBOBOX1, TRUE);
int index = m_comboBox->GetCurSel();
index = pSrcCombo->GetCurSel();
CString str = pSrcCombo->GetItem(index);
AfxMessageBox(str);
}

CMFCStatusBar

..添加消息映射,不然自定义的改变颜色无效
ON_COMMAND_RANGE(ID_START, ID_END, NULL)  //indicators[] 里面第一个和最后一个

if (!m_wndStatusBar.Create(this))
{
TRACE0("未能创建状态栏\n");
return -1; // 未能创建
}
m_wndStatusBar.SetIndicators(indicators, sizeof(indicators) / sizeof(UINT));
m_wndStatusBar.SetPaneWidth(1, 105);
m_wndStatusBar.SetPaneTextColor(1, RGB(0, 0, 255));
m_wndStatusBar.SetPaneText(1, strTime);

CMFCToolBar、CMFCStatusBar的更多相关文章

  1. MFC菜单、工具栏和状态栏

    菜单:CMenu类 CMenu类的主要成员函数 BOOL LoadMenu(UINT nIDResource); 加载菜单资源,并将其附加到CMenu对象上.参数nIDResource指定了要加载的菜 ...

  2. VC MFC在CMFCToolBar工具栏中加入组合框

    如何在CMFCToolBar工具栏中加入组合框等控件,且先看在线MSDN上怎么说的: 要增加一个组合框,需要完成以下步骤: 1.在工具栏资源中,增加一个对应ID资源号的按钮. 2.在主框架(mainf ...

  3. VC++ 浅谈VS2010中CMFCToolBar的用法

    本文将给大家介绍Visual Studio 2010中CMFCToolBar的用法,CMFCToolBar可以让用户自定义工具栏图标,使用静态成员函数SetUserImages()将一个CMFCToo ...

  4. VS2010/MFC编程入门之三十七(工具栏:工具栏的创建、停靠与使用)

    鸡啄米在上一节教程中讲了工具栏资源及CToolBar类,本节继续讲解工具栏的相关知识,主要内容包括工具栏的创建.停靠与使用. 工具栏的使用 上一节中鸡啄米提到过,一般情况下工具栏中的按钮在菜单栏中都有 ...

  5. VS2008 工具栏CMFCToolBar的使用总结(转)

    (一)自定义工具栏 自定义工具栏,分两种情况:一是直接添加工具栏,并自己绘制图标:二是,添加工具栏,然后与BMP关联,与VC6.0中的自定义彩色工具栏类似. 1.  自绘工具栏 1)添加Toolbar ...

  6. 【MFC】动态创建CMFCToolbar图标不显示问题

    最近遇到一个问题,需要动态的从xml文件读取一系列图标文件,加载到一个toolbar中,由于使用的是vs2008 with sp1 feature pack,自然想到用CMFCToolbar来做,思路 ...

  7. VS2010-MFC(工具栏:工具栏的创建、停靠与使用)

    转自:http://www.jizhuomi.com/software/217.html 上一节教程讲了工具栏资源及CToolBar类,本节继续讲解工具栏的相关知识,主要内容包括工具栏的创建.停靠与使 ...

  8. js-静态、原型、实例属性

    本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...

  9. 【.net 深呼吸】细说CodeDom(2):表达式、语句

    在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...

随机推荐

  1. 【洛谷P2142 高精度减法】

    题目描述 高精度减法 输入输出格式 输入格式: 两个整数a,b(第二个可能比第一个大) 输出格式: 结果(是负数要输出负号) 输入输出样例 输入样例#1: 复制 2 1 输出样例#1: 复制 1 说明 ...

  2. python基础-守护进程、守护线程、守护非守护并行

    守护进程 1.守护子进程 主进程创建守护进程  其一:守护进程会在主进程代码执行结束后就终止  其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic pro ...

  3. springboot1.5升级2.0后遇到的问题

    https://blog.csdn.net/zhiquanzhou/article/details/80566630

  4. Linux 多线程 - 线程异步与同步机制

    Linux 多线程 - 线程异步与同步机制 I. 同步机制 线程间的同步机制主要包括三个: 互斥锁:以排他的方式,防止共享资源被并发访问:互斥锁为二元变量, 状态为0-开锁.1-上锁;开锁必须由上锁的 ...

  5. Grunt安装与环境配置

    公司项目还没有前后端分离,而前端是使用node.js搭建起来的,现在需要自己动手开发,故学习下并做为记录防止以后忘记. grunt依赖node.js,所以在安装之前确保你安装了 Node.js.然后开 ...

  6. day14-jdbc案例(简单的curd&分页)

    回顾: mvc jsp的设计模式1: jsp+javabean jsp的设计模式2: jsp+javabean+servlet jsp:展示数据 javabean:封装数据 封装对数据的访问 serv ...

  7. 2017-12-14python全栈9期第一天第三节之python历史

    python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  8. Java_异常处理误区

    转自:https://www.ibm.com/developerworks/cn/java/j-lo-exception-misdirection/index.html 本文着重介绍了 Java 异常 ...

  9. Shell的Posix字符分类

    [:alnum:] 匹配范围为 [a-zA-Z0-9] [:alpha:] 匹配范围为 [a-zA-Z] [:blank:] 匹配范围为 空格和TAB键 [:cntrl:] 匹配控制键 例如 ^M 要 ...

  10. VSCode 配置

    官网 https://code.visualstudio.com/ 便携化 Windows,Linux 在 Code.exe 所在目录创建 data 目录 macOS 在 Code.exe 所在目录创 ...