C++ Code_StatusBar

主题

1. 创建状态栏 并显示

2. 在状态栏中显示进度条

3. MDI文档显示和隐藏状态栏

4.

5.

 
 

代码::创建状态栏 并显示

 //手动添加3个ICON

/////////////////////////////////////////////////////////////////////////////
// CProject01Dlg dialog
//
// class CProject01Dlg : public CDialog
// {
// // Construction
// public:
// CProject01Dlg(CWnd* pParent = NULL); // standard constructor
    CStatusBar m_statusBar;
 
 
// BOOL CProject01Dlg::OnInitDialog()
// TODO: Add extra initialization here     
BOOL bRec = m_statusBar.Create( this );
UINT nIDS[ 3 ] = {0x1001,0x1002,0x1003};
bRec = m_statusBar.SetIndicators(nIDS, 9 );
m_statusBar.SetPaneInfo( 0 ,nIDS[ 0 ],SBPS_NORMAL, 100 );
m_statusBar.SetPaneInfo( 1 ,nIDS[ 1 ],SBPS_NORMAL, 200 );
m_statusBar.SetPaneInfo( 2 ,nIDS[ 2 ],SBPS_NORMAL, 32565 );
m_statusBar.SetPaneText( 0 , "提示:" );
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST0 );
 
 
//添加OnSize消息
void CProject01Dlg::OnSize(UINT nType, int cx, int cy)
{
    CDialog::OnSize(nType, cx, cy);
    
    // TODO: Add your message handler code here
    RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST, 0 );
}
 
//即时显示鼠标所放在菜单的的文字
//在类向导中添加 1 个WindowProc消息
LRESULT CProject01Dlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
    // TODO: Add your specialized code here and/or call the base class
    if (message == WM_MENUSELECT)
{
        // OnHotMenu(LOWORD(wParam));
        CMenu * pMenu = GetMenu();
        if (pMenu != NULL)
        {
            CString strText;
            pMenu - > GetMenuString(( int )LOWORD(wParam),strText,MF_BYCOMMAND);
            m_statusBar.SetPaneText( 1 ,strText);
        }
        
}
    return CDialog::WindowProc(message, wParam, lParam);
}
 

 

效果图:

 
 
 
    

Code:: MDI文档显示和隐藏状态栏

//Show
void CMainFrame::OnShow() 
{
    if(!m_wndStatusBar.IsWindowVisible())
    {
        m_wndStatusBar.ModifyStyle(0WS_VISIBLE,SWP_FRAMECHANGED);
    }
    //使状态栏状态生效
    SendMessage(WM_SIZE);
}
    
//Hide
void CMainFrame::OnHide() 
{
    if(m_wndStatusBar.IsWindowVisible())
    {
        m_wndStatusBar.ModifyStyle(WS_VISIBLE0,SWP_FRAMECHANGED);
    }
    //使状态栏状态生效
    SendMessage(WM_SIZE);
}

效果图:

 
 




posted @ 2014-08-01 19:33  XE2011  阅读(394)  评论(0编辑  收藏  举报