使用状态栏工具栏

1.资源-添加-TOOLBAR

画图标。画了一个,第二个会出来。

2.头文件添加成员

CToolBar m_ToolBar; CStatusBar m_StatusBar;

3.初始化

// 创建工具栏
m_ToolBar.Create(this);
m_ToolBar.LoadToolBar(IDR_TOOLBAR1);

// 创建状态栏
m_StatusBar.Create(this);
UINT nIds[3] = { 1,2,3 };
m_StatusBar.SetIndicators(nIds, 3);
// 设置每一栏的信息和文字
m_StatusBar.SetPaneInfo(0, 1, SBPS_STRETCH, 100);
m_StatusBar.SetPaneInfo(1, 2, SBPS_STRETCH, 100);
m_StatusBar.SetPaneInfo(2, 3, SBPS_STRETCH, 100);

// 显示状态栏和工具栏
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);

// 设置定时器用于更新状态栏
SetTimer(0x100, 1000, NULL);

4.Ctrl+Shift+X召唤类向导-消息-搜索TIMER。编辑代码

void CDefaultDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值

if (0x100 == nIDEvent)
{
CString TempString;

// 获取系统时间
SYSTEMTIME SystemTime = { 0 };
GetSystemTime(&SystemTime);

// 格式化之后输出到每一栏
TempString.Format(L"时间: %d 时 %d 分 %d 秒", SystemTime.wHour,
SystemTime.wMinute, SystemTime.wSecond);
m_StatusBar.SetPaneText(0, TempString);

TempString.Format(L"日期: %d 月 %d 日", SystemTime.wMonth,
SystemTime.wDay);
m_StatusBar.SetPaneText(1, TempString);

TempString.Format(L"年份: %d 年", SystemTime.wYear);
m_StatusBar.SetPaneText(2, TempString);
}

CDialogEx::OnTimer(nIDEvent);
}

5.响应按钮

BEGIN_MESSAGE_MAP(CMFC8Dlg, CDialogEx)

ON_COMMAND_RANGE(ID_BUTTON32771, ID_BUTTON32774, OnToolIndex)

END_MESSAGE_MAP()
   
   
// 工具栏的响应方式和按钮相同
VOID CDefaultDlg::OnToolIndex(UINT nId)
{
// 获取是第几个
int index = nId - ID_BUTTON32771;

// 转换成字符串
CString Text;
Text.Format(L"%d", index);

// 显示
MessageBox(Text);
}

MFC_2.8 使用状态栏工具栏的更多相关文章

  1. Material Design Lite,简洁惊艳的前端工具箱。

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ .网站上有对应每一 ...

  2. pyside 添加菜单栏,窗口状态栏,工具栏

    这三个放到一起,个人认为比较有可比性. 另外该写的解释我都记到注释里面了 话不多说,show me the code 菜单栏, # ubuntu16.04触发关联事件不成功,应该是ubantu的全局窗 ...

  3. 孙鑫MFC学习笔记9:状态栏与工具栏编程

    1.在窗口创建之前就应该修改窗口的样式 2.单文档应用程序会把文档名作为应用程序标题,应该去掉FWS_ADDTOTITLE属性,然后修改lpszName为标题 3.在窗口创建完成后,可以通过SetWi ...

  4. [转载]ExtJs4 笔记(12) Ext.toolbar.Toolbar 工具栏、Ext.toolbar.Paging 分页栏、Ext.ux.statusbar.StatusBar 状态栏

    作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...

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

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

  6. iOS 状态栏、导航栏、工具栏、选项卡大小

    1.状态栏状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用.如下图用户可以隐藏状态栏,也可以将状态栏设置为灰色,黑色或者半透明的黑 ...

  7. Qt 学习之路 :菜单栏、工具栏和状态栏

    在之前的<添加动作>一文中,我们已经了解了,Qt 将用户与界面进行交互的元素抽象为一种“动作”,使用QAction类表示.QAction可以添加到菜单上.工具栏上.期间,我们还详细介绍了一 ...

  8. ExtJs4 笔记(12) Ext.toolbar.Toolbar 工具栏、Ext.toolbar.Paging 分页栏、Ext.ux.statusbar.StatusBar 状态栏

    本篇讲解三个工具栏控件.其中Ext.toolbar.Toolbar可以用来放置一些工具类操控按钮和菜单,Ext.toolbar.Paging专门用来控制数据集的分页展示,Ext.ux.statusba ...

  9. MFC之窗体改动工具栏编程状态栏编程程序启动画面

    1窗体外观的改动 (1)改动在CMainFrame::preCreateWindow(CREATESTRUCT& cs) 改动标题:cs.style&=FWS_ADDTOTITLE; ...

随机推荐

  1. cocos2d-x 3.6版连连看版本号控制

    为了以后的开发和管理.源代码开发必须要使用版本号控制.我们当然选择git来做版本号控制了. 假设你在终端输入git,提示不是一个命令的话.那就说明你的机器没有安装git工具.那就安装一个,百度之有非常 ...

  2. build.gradle解析

    1 providedCompile.testImplementation.implementation.api.runtime.testCompile.classpath.natives 这些都是和p ...

  3. Spring 之AOP 面向切面编程

    AOP相关术语: Joinpoint (连接点):所谓连接点是指那些被拦截到的点,在spring中,这些点指的是方法,因为spring 只支持方法类型的连接点. Pointcut(切入点):所谓切入点 ...

  4. 2015-2016 ACM-ICPC Pacific Northwest Regional Contest (Div. 2)V - Gears

    Problem V | limit 4 secondsGearsA set of gears is installed on the plane. You are given the center c ...

  5. Android实战技巧之八:Ubuntu下切换JDK版本【转】

    本文转载自:http://blog.csdn.net/lincyang/article/details/42024565 Android L之后推荐使用JDK7编译程序,这是自然发展规律,就像是4年前 ...

  6. USACO Section 1.2PROB Miking Cows

    贪心做过去,先对每个时间的左边点进行排序,然后乱搞,当然线段树也可以做 /* ID: jusonal1 PROG: milk2 LANG: C++ */ #include <iostream&g ...

  7. js验证手机号,身份证,车牌号验证

    js验证手机号  <input type="text" class="identificationno"> // 身份证号码为15位或者18位,15 ...

  8. Python Tricks(十九)—— switch 的实现

    python 原生语法不支持 switch,体现了 Python 大道至简的设计思路,有时为了避免啰嗦的 if elif等判断语句,我们可以用字典来代替 switch 的各分支,也即建立表达式和操作的 ...

  9. 通过绑定ip地址可以暂时解决抢占ip问题

    以前设置的路由器密码都忘记了 admin重复,在工作上遇到了 一个去除str左右两边的空格换行符回车等 trim

  10. C++ 值初始化和默认初始化

    对于初始化的问题,我之前一直傻傻分不清.有关初始化以及赋值的区别也是一问题,这次回过头来看,配合<<CSAPP>>的内容,对初始化有了一些新的认识. 声明: 在环境/上下文中指 ...