MFC-CStatusBar(状态栏)

来源:互联网 发布:文件打开软件 编辑:程序博客网 时间:2024/06/05 22:49

效果如图:

首先在头文件中定义一个CStatusBar变量

CStatusBar m_statusbar;

然后在初始化对话框中创建状态栏并且设置面板信息

    //创建状态栏    m_statusbar.Create(this);    //创建两个面板//第一个面板是1,第二个面板是2    UINT nID[] = { 1,2 };    m_statusbar.SetIndicators(nID, 2);    //设置面板1信息 ,第一个面板,编号为1,正常显示,宽度为100    m_statusbar.SetPaneInfo(0, 1, SBPS_NORMAL, 100);    //设置面板2信息,第二个面板,编号为2,自动拉伸显示,刚开始宽度为0    m_statusbar.SetPaneInfo(1, 2, SBPS_STRETCH, 0);    //设置状态栏位置    CRect rect = { 0 };    GetClientRect(&rect);    //rect.bottom - 20是状态栏的高度位置,20是状态的高度    m_statusbar.MoveWindow(0, rect.bottom - 20, rect.right,20);

接着右键编辑框添加事件处理程序

void CMFCTESTDlg::OnEnChangeEdit(){    // TODO:  如果该控件是 RICHEDIT 控件,它将不    // 发送此通知,除非重写 CDialogEx::OnInitDialog()    // 函数并调用 CRichEditCtrl().SetEventMask(),    // 同时将 ENM_CHANGE 标志“或”运算到掩码中。    // TODO:  在此添加控件通知处理程序代码    CString strText;    GetDlgItemText(IDC_EDIT, strText);    strText.Format(_T("字数:%d"), strText.GetLength());    //在第二个面板上显示    m_statusbar.SetPaneText(1, strText);}
0 0
原创粉丝点击