聚星亭

吾笨笨且懒散兮 急须改之而奋进
posts - 74, comments - 166, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

给MFC对话框程序添加状态栏的方法

Posted on 2009-04-03 18:38 besterChen 阅读(5750) 评论(0)  编辑 收藏 引用 所属分类: WTL/MFC/GuiLib
         本来以为自己对MFC有所了解的,最近再写程序的时候才发现,原来我对MFC一窍不通,记录一下吧:

         第一步、先件两个字符串资源:IDS_STATESTRING1,IDS_STATESTRING2,分别用来显示提示信息和版权信息!
         第二步、创建一个数组,分别将上面的两个字符串资源ID写到里面:static UINT indicators[]={IDS_STATESTRING1, IDS_STATESTRING2};
         第三步、再MFC的对话框类中添加成员变量:CStatusBar   m_wndStatusBar;
       第四步、由于创建状态栏要再主对话框创建成功以后创建,所以就再对话框初始化的时候添加吧!
    CRect rect;

    GetClientRect(rect);

    
if(!m_wndStatusBar.Create(this)|| !m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT)))
   {
          TRACE0(
"Can't create status bar\n");
           
return false;
    }

    m_wndStatusBar.MoveWindow(
0,rect.bottom-20,rect.right,20));// 调整状态栏的位置和大小
         到这里就创建好了!
         如果要调整状态栏每个窗格的大小可以这样,比如我要调整第一个窗格的大小:m_WndStatusBar.SetPaneInfo(0,m_WndStatusBar.GetDlgCtrlID(),SBPS_NORMAL,650);
         在程序中,如果要改变制定窗格中文字的化,这样:m_WndStatusBar.SetPaneText(0,"提示:  恭喜你, 参数设置成功...");

         如果出现字符不能正常显示等问题的话,需要给这个控件添加Update处理函数:
例如:在MainFrm.h中添加 

afx_msg 
void OnUpdate1(CCmdUI *pCmdUI); 

在MainFrm.cpp中添加 

ON_UPDATE_COMMAND_UI(ID_INDICATOR_1(要显示字的栏), OnUpdate1) 

实现函数:

void CMainFrame::OnUpdate1(CCmdUI *pCmdUI)
{
pCmdUI
->Enable();
              好了,就这么多~~~

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理