MFC_2.8 使用状态栏工具栏
使用状态栏工具栏
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 使用状态栏工具栏的更多相关文章
- Material Design Lite,简洁惊艳的前端工具箱。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ .网站上有对应每一 ...
- pyside 添加菜单栏,窗口状态栏,工具栏
这三个放到一起,个人认为比较有可比性. 另外该写的解释我都记到注释里面了 话不多说,show me the code 菜单栏, # ubuntu16.04触发关联事件不成功,应该是ubantu的全局窗 ...
- 孙鑫MFC学习笔记9:状态栏与工具栏编程
1.在窗口创建之前就应该修改窗口的样式 2.单文档应用程序会把文档名作为应用程序标题,应该去掉FWS_ADDTOTITLE属性,然后修改lpszName为标题 3.在窗口创建完成后,可以通过SetWi ...
- [转载]ExtJs4 笔记(12) Ext.toolbar.Toolbar 工具栏、Ext.toolbar.Paging 分页栏、Ext.ux.statusbar.StatusBar 状态栏
作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...
- MFC菜单、工具栏和状态栏
菜单:CMenu类 CMenu类的主要成员函数 BOOL LoadMenu(UINT nIDResource); 加载菜单资源,并将其附加到CMenu对象上.参数nIDResource指定了要加载的菜 ...
- iOS 状态栏、导航栏、工具栏、选项卡大小
1.状态栏状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用.如下图用户可以隐藏状态栏,也可以将状态栏设置为灰色,黑色或者半透明的黑 ...
- Qt 学习之路 :菜单栏、工具栏和状态栏
在之前的<添加动作>一文中,我们已经了解了,Qt 将用户与界面进行交互的元素抽象为一种“动作”,使用QAction类表示.QAction可以添加到菜单上.工具栏上.期间,我们还详细介绍了一 ...
- ExtJs4 笔记(12) Ext.toolbar.Toolbar 工具栏、Ext.toolbar.Paging 分页栏、Ext.ux.statusbar.StatusBar 状态栏
本篇讲解三个工具栏控件.其中Ext.toolbar.Toolbar可以用来放置一些工具类操控按钮和菜单,Ext.toolbar.Paging专门用来控制数据集的分页展示,Ext.ux.statusba ...
- MFC之窗体改动工具栏编程状态栏编程程序启动画面
1窗体外观的改动 (1)改动在CMainFrame::preCreateWindow(CREATESTRUCT& cs) 改动标题:cs.style&=FWS_ADDTOTITLE; ...
随机推荐
- _DataStructure_C_Impl:图的遍历
#include<stdio.h> #include<stdlib.h> #include<string.h> //图的邻接表类型定义 typedef char V ...
- cocos2d-x 3.3 之卡牌设计 NO.4 定时器的使用(清理内存)
我的卡牌游戏卡牌有两个类.各自是OpenCard和CardSprite. 不知道分成两个是不是有些奇怪.我分开的原因是:一个卡牌用来当手牌,一个用来当场上的牌,这样说是不是更加奇怪了.. 玩家类里定义 ...
- web metrics dashboard 数据分析工具 看板 从可视化发现问题 避免sql重复写 调高效率
<?php$todo = array();$done = array();$h = array();$v = $all['v'];$l = count($v);#19700101 08for ( ...
- H264--4--H264编码[7]
----------------------------------- 编码器输出格式 ---------------------------------- 总的来说H264的码流的打包方式有两种,一 ...
- YTU 2632: B2 友元光顾
2632: B2 友元光顾 时间限制: 1 Sec 内存限制: 128 MB 提交: 378 解决: 241 题目描述 定义一个平面上的点类Point,其中设置成员函数distance1求当前对象 ...
- YTU 2630: E2 驾驭const
2630: E2 驾驭const 时间限制: 1 Sec 内存限制: 128 MB 提交: 673 解决: 491 题目描述 引入了const关键词,用于指定"常"对象及&qu ...
- Python基础第六天
一.内容 二.练习 练习1 题目:文件的增删改查 图示: 代码: import os def add(data): content = data[1] # 文件内容 file_name = data[ ...
- Tool:Adobe Photoshop
ylbtech-Tool-Adobe:Adobe Photoshop 1.返回顶部 1. Adobe Photoshop,简称“PS”,是由Adobe Systems开发和发行的图像处理软件. Pho ...
- 4-3 买家类目-service
DAO:ProductCategory.Service可以简化一些,叫CategoryService. package com.imooc.sell.service; import com.imooc ...
- E20171230-hm
refine vt. 提炼; 改善; 使高雅; revert vi. 恢复; 重提; 回到…上; <律>归还; vt. 使恢复原状; n ...