您的位置:首页 > 其它

状态栏

2016-05-22 16:49 197 查看
CStatusBar

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">首先在头文件的protect里添加</span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">CStatusBar m_status;</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">在初始化对话框函数里</span>


m_status.Create(this);  //创建状态栏,this代表当前窗口
UINT nID[]={10000,10001};   //状态栏里两个栏的id
m_status.SetIndicators(nID,2);
m_status.SetPaneInfo(0,10000,SBPS_NORMAL,100);  //第一个面板(普通面板,宽度100)
m_status.SetPaneInfo(1,10001,SBPS_STRETCH,0); //第二个面板,弹性的 会自动改变宽度
RECT rect={0};
GetClientRect(&rect);
m_status.MoveWindow(0,rect.bottom-20,rect.right,20,true);


创建编辑框,并绑定控件变量,在文本框控件事件里选择



功能是在编辑框输入文字的时候,在状态栏显示文字的个数

void Cdemo11Dlg::OnEnChangeEdit()
{
// TODO:  如果该控件是 RICHEDIT 控件,它将不
// 发送此通知,除非重写 CDialogEx::OnInitDialog()
// 函数并调用 CRichEditCtrl().SetEventMask(),
// 同时将 ENM_CHANGE 标志“或”运算到掩码中。

// TODO:  在此添加控件通知处理程序代码
int nLen=m_edit.GetWindowTextLength();
CString str;
str.Format(_T("字符数是%d"),nLen);
m_status.SetPaneText(1,str,true);  //显示在状态栏的第二个面板里

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: