本文介绍了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. 兼容IE,Firefox,Opera等浏览器的添加到收藏夹js代码实现

    function AddToFavorites() { var title = document.title; var url = location.href; if (window.sidebar) ...

  2. Bootstrap 内核引用(一)

    方法一: Bootstrap CDN推荐 本站实例采用的是百度的静态资源库(http://cdn.code.baidu.com/)上的Bootstrap资源. 百度的静态资源库的 CDN 服务,访问速 ...

  3. HTML 菜单 a 标签跳转本页面并追加参数

    代码如下: <!-- BEGIN 追加URL的参数 --> <script type="text/javascript"> function setUrl( ...

  4. 读书笔记汇总 --- 用Python写网络爬虫

    本系列记录并分享:学习利用Python写网络爬虫的过程. 书目信息 Link 书名: 用Python写网络爬虫 作者: [澳]理查德 劳森(Richard Lawson) 原版名称: web scra ...

  5. tcpprep 对IPV6的支持

    在采用tcpreplay对包实施回放前,需要对包执行预处理,tcpprep就是完成这个任务的.tcpprep要做的处理就是生成一个cache文件,根据tcpprep wiki的介绍http://tcp ...

  6. 2734: [HNOI2012]集合选数 - BZOJ

    Description <集合论与图论>这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x 在该子集中,则 2x 和 3x 不能在该子集中 ...

  7. UIScrollView的坑--UINavigationController Push后位置变化

    今天在使用UIScrollView的时候遇到了一个问题,记录一下.如果这个记录有幸被您搜索到,或许对您有些帮助. 今天有这样一个需求: 在一个由导航条控制的页面中.需要显示一些信息,目前已经有10多行 ...

  8. CSS样式表引用方式

    最近讲课中,有些学员对调用样式表老是有含糊不清?大体说来有四种方式: 1.外部文件引用方式;(推荐使用) 2.使用@import引用外部CSS文件; 3.内部文档头方式也叫内嵌法调用; 4.直接插入式 ...

  9. Chp2: Linked List

    2.2 Implement an algorithm to find the kth to last element of a singly linked list. Just using " ...

  10. CI中获取读操作的结果集行数+获取写操作的影响行数

    本质:读操作,用mysql_num_rows函数,写操作用mysql_affected_rows函数 mysql_num_rows() 返回结果集中行的数目.此命令仅对 SELECT 语句有效.要取得 ...