本文介绍了MFC中和状态栏相关的用法:

在MFC的的单文档应用中,在建好应用程序之后,CMainFrame类中定义了状态栏对象CStatusBar  m_wndStatusBar; 而在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数中做了状态栏的创建,代码如下:

if (!m_wndStatusBar.Create(this) ||

  !m_wndStatusBar.SetIndicators(indicators,

sizeof(indicators)/sizeof(UINT)))

{

  TRACE0("未能创建状态栏n");

  return
-1;     
// 未能创建

 }

运行程序后,状态栏的右下角默认有三个Pane,其定义在MainFrm.cpp文件中,代码如下:

static UINT indicators[] =

{

 ID_SEPARATOR,          
// 状态行指示器

 ID_INDICATOR_CAPS,

 ID_INDICATOR_NUM,

 ID_INDICATOR_SCRL

};

1.添加一个Pane

可向indicators数组里面添加一个元素,如ID_NEW_PANE,该元素是一个字符串资源。

具体方法:

1). 切换到资源视图,打开String Table,在里面新建一项,ID、值和标题随便取。如ID =
ID_NEW_PANE、值=111、标题 = 新建面板。

2). 将刚刚新建的ID_NEW_PANE,加入在indicators 数组里面,如:

static UINT indicators[] =

{

ID_SEPARATOR, // 状态行指示器

ID_INDICATOR_CAPS,

ID_INDICATOR_NUM,

ID_INDICATOR_SCRL,

ID_NEW_PANE

};

3). 运行结果如下图所示:

2. 获取/修改面板属性

CStatusBar类提供了相应的函数,如GetPaneInfo/SetPaneInfo、GetPaneText/SetPaneText等。

详情参见:

http://msdn.microsoft.com/en-us/library/804zsxbb(v=vs.80).aspx

3. 设置Pane图标、设置Pane背景色等。

CStatusBar中,CStatusBarCtrl&
GetStatusBarCtrl()函数可获得
CStatusBarCtrl对象,利用该对象可设置Pane的图标、背景色、文字等相关内容。具体函数说明请参见:

http://msdn.microsoft.com/zh-cn/library/822c9zyt.aspx

下面以设置图标为例说明具体的使用。步骤如下:

1)切换到资源视图,在Icon栏目下面新建一个图标,ID取名为IDC_NEW_ICON

2) 在要更改图标的地方添加如下代码:

HINSTANCE hInst =
AfxFindResourceHandle(MAKEINTRESOURCE(IDC_NEW_ICON),RT_GROUP_ICON);

HICON m_hIcon =
(HICON)LoadImage(hInst,MAKEINTRESOURCE(IDC_NEW_ICON),IMAGE_ICON,16,16,LR_DEFAULTCOLOR);

m_wndStatusBar.GetStatusBarCtrl().SetIcon(4,
m_hIcon);  //“4”为面板的索引

运行效果如下:

MFC 状态栏相关使用(CStatusBar & CStatusBarCtrl)的更多相关文章

  1. MFC 状态栏的使用 CstatusBar

    你在源文件头文件声明一下 CStatusBar   zhuangtailan; 然后在窗口初始化添加以下代码 zhuangtailan.Create(this);//意思是在本窗口创建 UINT id ...

  2. 在MFC[转载]在MFC状态栏显示时间 状态栏显示时间

    原文:在MFC状态栏显示时间,谢小哈皮儿 c/c++ vc 在mfc状态栏显示时间,在VC的控件中有个Status bar可以在窗体状态栏中添加日期和时间.其实通过简单的代码,你就能创建一个有时钟显示 ...

  3. MFC界面相关源码

    这是这4篇MFC界面的相关源码.建议学习Visual C++的看看这2本微软官方出的教材. [MFC Windows程序设计(第2版,修订版)](美)Jeff Prosise著 [Windows程序设 ...

  4. MFC绘图相关GDI工具对象和函数介绍

    在利用MFC进行界面编程时,除了需要熟悉各种类型控件的操作外,还会经常遇到图形绘制和显示的问题,比如时频分析界面.图像处理界面等.处理这些软件界面开发问题时,不可避免地需要用到一系列GDI工具对象和相 ...

  5. MFC GDI相关对象

    首先说明几个名词: CDC 是MFC对Wind32 API的设备上下文(DC)进行封装的C++类,由他继承的类包括 CPaintDC(常用)CWindowDC(现在软件基本不用) CClientDC( ...

  6. 【MFC相关】MFC入门相关

    1.MFC的“匈牙利标识符命名法”,这是一个约定,可以增加代码的可读性: 声明或定义了一个类,那么这个类可以以“C”(class)为前缀,如CHelloWorldDlg类: 定义一个无符号型的局部变量 ...

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

    MFC工具栏控件 创建工具栏步骤: (1)在Resource View中插入新toolbar (2)在toolbar上双击增加按钮,更改ID为ID_BUTTON,编译后在resource.h中即可看到 ...

  8. mfc报文相关算法

    1.传入_T("AAAABBBBCC"),返回_T("AA AA BB BB CC") CString FormatPacket(CString packet_ ...

  9. C++MFC编程笔记day03 MFC工具栏、状态栏、视图窗体

    MFC工具栏 相关类: CToolBarCtrl - 父类是 CWnd  封装了工具栏控件相关操作 CToolBar - 父类是CControlBar  封装了工具栏和框架窗体之间的关系 工具栏使用: ...

随机推荐

  1. fineui框架

    http://fineui.com/demo/#/demo/layout/fit.aspx 虽然比较丑陋,但功能实用 此框架比较简单, 框架的作用你懂的,重点是要有帮助文档, 进阶型的容易上手的帮助文 ...

  2. 【BZOJ2049】 [Sdoi2008]Cave 洞穴勘测

    Description 辉辉热衷于洞穴勘测.某天,他按照地图来到了一片被标记为JSZX的洞穴群地区.经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好 ...

  3. input输入框的各种样式

    输入框景背景透明: <input style="background:transparent;border:1px solid #ffffff"> 鼠标划过输入框,输入 ...

  4. 隐藏和显示效果js动画

    <div id='ctt' style='margin-left: 50px; color: white'>             <input type="button ...

  5. 深入浅出百度地图API开发系列(3):模块化设计

    在前面两张简单介绍了百度地图API的基础知识和使用之后,我们来分析一下百度地图API的基本架构,了解一下基本架构可以帮助我们更清晰的了解API的功能和调用过程,也就可以帮助我们在实际开发中可以更方便的 ...

  6. Csharp volatile 关键字

    volatile 关键字指示一个字段可以由多个同时执行的线程修改.声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制.这样可以确保该字段在任何时间呈现的都是最新的值. vola ...

  7. mysql 跨库JOIN

    现有两台MYSQL数据库 一台是192.168.1.1 端口3306 上有数据库DB1 有表TABLE1一台是192.168.1.2 端口3307 上有数据库DB2 有表TABLE2192.168.1 ...

  8. hadoop 任务执行优化

    任务执行优化 1. 推测式执行: 如果jobtracker 发现有拖后的任务,会再启动一个相同的备份任务,然后哪个先执行完就会去kill掉另一个,因此会在监控页面上经常能看到正常执行完的作业会有被ki ...

  9. 关于.net中的脚本语言使用

    基于.net中drl框架的脚本现在有很多,最近也由于工作的需要,目前有lua.python.ruby.javascript的.net实现,对ruby不怎么了解,python.lua.js就成了试验的对 ...

  10. Linux---More命令 初级实现

    Linux: more已实现:more filename , quit不需要回车未实现:command | more 重定向 ,显示百分比 Waiting... /* Linux: more 已实现: ...