新闻资讯
看你所看,想你所想

CStatusBarCtrl

CStatusBarCtrl是一个"状态条控件"是一个水平的窗口,通常显示在一个父窗背通胡祖合某口的底部,在其中应用程序可以显示不同类型的状态信息。

  • 中文名称 CStatusBarCtrl
  • 类型 状态条控件
  • 参见 Visual C++
  • 提供 Windows通用状态条控件的性能

模块细数

继承图表

  可以将此状态条控件分哥绍安读细易里散记刑割为多个部分,用来显示多种类型的信息。

  C来自StatusBarC附胶圆海看究跑trl类提供了Windows通用状态条控件的性能。这个控件(也就是率紧业出武很CStatusBarCtr360百科l类)只对运行在Windows 95和Windows NT3.51或更新版本下的程序来说是可用的。

  有关使用CStatusBarCtrl的更多信息,参见"Visual C++程序员指南"中的"控件主题"和"使用CStatusBarCtrl"。

  #include <afxcmn.h>

  请参阅:CToolBarCtrl

触厂错导病搞州少角类成员

构造函数

  CStatusBarCtrl() 构造一个CSta吸待米程灯tusBarCtrl对象。

  Create() 创建状态条,并将它与CStatusBarCtrl对象连接

属性

  SetText() 设置一个状态条控件的给定部分中的文本。

  GetText() 情找从一个状态条控件的给与心迅续评第督五动定部分中获取文本。

  GetTextLength() 从一个状态条控件的给定部分获取文本的字符的长度。

  SetParts() 设置一个状态条控件中的一部分和每部分右边的坐标。

  GetParts() 获取一个状态条控件中的部分区域的数目。

用巴  GetBorders() 获取一个状态条控件的水平或垂直边界的对齐宽度。

  SetMinHeight() 设置一个状态条控件的绘制区域的最小高度。

  SetSimple() 指定一个状态条是显示简单的文本从值值调立攻除,还是显示前一次调用。

  SetParts(随混口自述指原)设置的所有控件部分。

  GetRect() 获取状态条控件中的一比精病拉液劳阳染干部分的边界矩形的尺寸。

  IsSimple() 检查状态条窗口来确定到回坚愿南它是否处于简单模式。

  GetTipT案察液革血七ext() 获取状态条中的一个窗格的工具提示文本。

  SetTipText() 设置状态条中的一个窗格的工具提示文本

  SetBkCol跟表or() 设置一个状态条控件的背景颜色。

  SetIcon() 设置状态条控件中的窗格的图表。

可重载

  DrawItem() 自主绘制一个状态条控件的外观。

添加状态栏

来自方法一

  1.添加成员变360百科量CStatusBarCtrl m_StatusBar;

  2.在OnInitDialog()中加入:

  m_StatusBar.Create(WS_CHILD|WS_VISIBLE调余弱停慢第展生|SBT_OWNERDRAW, CRect(0,0,0,0), this, 0);

  int strPartDim[3]= {100, 200, -1}; //分割数量

  m_陆曲育料白未StatusBar.SetParts(3, strPartDi威持首m);

  //设置状态栏文

  m_StatusBar.重将酸备危SetText("分栏一", 0, 0);

  m_StatusBar.SetT次文增掌成状互令ext("分栏二", 1, 0);

  m_StatusBar.Se专祖团排tText("分栏三", 2, 0);

  /儿输督/下面是在状态栏中加入图标

  m_StatusBar.SetIcon(1,

  SetIcon(AfxGetApp()->LoadIcon(IDR_MAINFRAME),

  FALSE));//为乙弱团鱼武饭第二个分栏中加的图标

方法二

  1.添加成员变量CSta研敌映下义适古充消查tusBar m_wndStatusBar;

  2.在OnInitDialog()中加入:

  s谓当tatic UINT indicators[] =

  {

  ID_SEPARATOR, // status line indicator

  ID_INDICATOR_CAPS, //CAP lock indicator.

  ID_INDICATOR_NUM, //NUM lock indicator.

  ID_INDICATOR_SCRL, //SCRL lock indicator.

  };

  if (!m_wndStatusBar.Create(this) ||

  !m_wndStatusBar.SetIndicators(indicators,

  sizeo变业越攻地历围贵全团优f(indicators)/sizeof(UINT)))

  {

  TRACE0("Failed to create status bar未春走唱防儿要路境油抗n");

  return -1; // fail to create

  }

  UINT nID; //显振子利晚让发控制状态栏里面的分栏

 浓烈 m_wndStatusBar.SetPaneInfo(0,nID,SBPS_STRETCH|SBPS_NOBORDERS,100);//返回值存nID中

  m_wndStatusBar.SetPa花给跑速裂neText(0,"就绪");

  m_wndStatusBar.SetPaneInfo(1,nID,SBPS_NORMAL,100);

  m_wndStatusBar.SetPaneText(1,"大写");

  m_wndStatusBar.SetPaneInfo(2,nID,SBPS_POPOUT,100);

  m_wnd距互重算StatusBar.SetPaneText(2,"数字");

  SetPaneInfo()函数的第三个参数的可选项如下:

  // SBPS_NOBORDERS No 3-D border around the pane.

  // SBPS_POPOUT Rever拉不视讲喜se border so that text "pops out."

  // SBPS_DISABLED Do not draw text.

  // SBPS_STRETCH Stretch pane to fill unused space否粮斤胞六点氢同念程. Only one pane per status bar can have this style.

  // SBPS_NORMAL No stretch, borders, or pop-out.

  //----------------让这个状态栏最终显示在对话框中-------------

  RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);

转载请注明出处安可林文章网 » CStatusBarCtrl

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com