CMFCToolBar、CMFCStatusBar
首先删除注册表
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的更多相关文章
- MFC菜单、工具栏和状态栏
菜单:CMenu类 CMenu类的主要成员函数 BOOL LoadMenu(UINT nIDResource); 加载菜单资源,并将其附加到CMenu对象上.参数nIDResource指定了要加载的菜 ...
- VC MFC在CMFCToolBar工具栏中加入组合框
如何在CMFCToolBar工具栏中加入组合框等控件,且先看在线MSDN上怎么说的: 要增加一个组合框,需要完成以下步骤: 1.在工具栏资源中,增加一个对应ID资源号的按钮. 2.在主框架(mainf ...
- VC++ 浅谈VS2010中CMFCToolBar的用法
本文将给大家介绍Visual Studio 2010中CMFCToolBar的用法,CMFCToolBar可以让用户自定义工具栏图标,使用静态成员函数SetUserImages()将一个CMFCToo ...
- VS2010/MFC编程入门之三十七(工具栏:工具栏的创建、停靠与使用)
鸡啄米在上一节教程中讲了工具栏资源及CToolBar类,本节继续讲解工具栏的相关知识,主要内容包括工具栏的创建.停靠与使用. 工具栏的使用 上一节中鸡啄米提到过,一般情况下工具栏中的按钮在菜单栏中都有 ...
- VS2008 工具栏CMFCToolBar的使用总结(转)
(一)自定义工具栏 自定义工具栏,分两种情况:一是直接添加工具栏,并自己绘制图标:二是,添加工具栏,然后与BMP关联,与VC6.0中的自定义彩色工具栏类似. 1. 自绘工具栏 1)添加Toolbar ...
- 【MFC】动态创建CMFCToolbar图标不显示问题
最近遇到一个问题,需要动态的从xml文件读取一系列图标文件,加载到一个toolbar中,由于使用的是vs2008 with sp1 feature pack,自然想到用CMFCToolbar来做,思路 ...
- VS2010-MFC(工具栏:工具栏的创建、停靠与使用)
转自:http://www.jizhuomi.com/software/217.html 上一节教程讲了工具栏资源及CToolBar类,本节继续讲解工具栏的相关知识,主要内容包括工具栏的创建.停靠与使 ...
- js-静态、原型、实例属性
本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...
- 【.net 深呼吸】细说CodeDom(2):表达式、语句
在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...
随机推荐
- Python_反射
利用字符串的形式去对象中寻找成员 导入单个模块: commons为公共模块,inp为输入 func=getattr(commons,inp) 利用反射最大的好处是不用单个单个导入,而通过getattr ...
- CRT和EXCRT学习笔记
蒟蒻maomao终于学会\(CRT\)啦!发一篇博客纪念一下(还有防止忘掉) \(CRT\)要解决的是这样一个问题: \[x≡a_1(mod m_1)\] \[x≡a_2(mod m_2)\] ...
- (暴力求解)Encoding HDU1020
Encoding 链接:http://acm.hdu.edu.cn/showproblem.php?pid=1020 Time Limit: 2000/1000 MS (Java/Others) ...
- zend studio报错
Problems encountered while setting project description. Cannot create linked resource '/.org.eclipse ...
- jmeter元件执行顺序及简介
最近在学习Jmeter,在进行实操之前,先查看了官方文档.因为官方文档是英文的,为了方便以后查看,自己翻译了一部分,中间个别地方根据自己的理解简单地翻译了部分.如果翻译等有问题,欢迎指正. 一.执行顺 ...
- Program License Agreement updated/The updated Apple Developer Program License Agreement needs to be reviewed.
Apple APP添加新APP时提示The updated Apple Developer Program License Agreement needs to be reviewed. 解决办法 登 ...
- Ruby on Rails,一对多关联(One-to-Many)
在上一篇文章中,我们知道通过has_one和belongs_to方法定义一对一关联关系.接下来是更常见的情况,一对多关联.比如老师与所教课程的关系,一个老师负责多个课程.换成对象之间的关系就是:一个老 ...
- [C#]一个简易的、轻量级的方法并行执行线程辅助类
一个简易的.轻量级的方法并行执行线程辅助类 在实际应用中,经常要让多个方法并行执行以节约运行时间,线程就是必不可少的了,而多线程的管理经常又是一件头疼的事情,比如方法并行执行异步的返回问题,方法并 ...
- dubbo的具体使用
dubbo的具体使用: dubbo简介: 1.1. 什么是dubbo 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,急需一个治理 ...
- Spring boot 连接Redis实现HMSET操作
这篇文章记录使用spring-boot-starter-redis访问Redis.Redis相关的的配置文件放在Resources目录下的application.yml文件中,如下所示: spring ...