主题

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_LAST, 0 );
 
 
//添加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(0, WS_VISIBLE,SWP_FRAMECHANGED);
    }
    //使状态栏状态生效
    SendMessage(WM_SIZE);
}
    
//Hide
void CMainFrame::OnHide() 
{
    if(m_wndStatusBar.IsWindowVisible())
    {
        m_wndStatusBar.ModifyStyle(WS_VISIBLE, 0,SWP_FRAMECHANGED);
    }
    //使状态栏状态生效
    SendMessage(WM_SIZE);
}

效果图:

 
 

C++ Code_StatusBar的更多相关文章

随机推荐

  1. php codeigniter (CI) oracle 数据库配置-宋正河整理

    database.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 $active_group = 'default'; $active_record ...

  2. 书签(Bookmarks)

    工作台允许使用者在文件中创建书签,通过这些书签,使用者可以从书签视图里快速打开这些文件,并跳转到相应的行. (1)在编辑器左边灰色的区域里单击鼠标右键,在弹出的菜单里选择“Add Bookmark.. ...

  3. Java 面向对象概念

    Interface 接口 An interface defines a protocol of communication between two objects. An interface decl ...

  4. MySQL 5.6 警告信息 command line interface can be insecure 修复

    在命令行输入密码,就会提示这些安全警告信息. Warning: Using a password on the command line interface can be insecure.   注: ...

  5. ASP.NET 应用程序生命周期概述[转自MSDN]

    本文转自:http://msdn.microsoft.com/zh-cn/library/ms178473(VS.80).aspx 下表描述了 ASP.NET 应用程序生命周期的各个阶段.   阶段 ...

  6. 轻松学习Linux之Shell文件和目录属性详解

    轻松学习Linux之Shell文件和目录属性详解 轻松学习Linux之理解Sitcky 轻松学习Linux之理解umask 轻松学习Linux之理解SUID&SGUID 本系列多媒体教程已完成 ...

  7. 轻松学习Linux之理解进程的管理与控制

    本文出自 "李晨光原创技术博客" 博客,谢绝转载!

  8. C++builder XE10 终于支持类内变量初始化了

    Win32终于支持类内变量初始化了,C++11 用bcc32C编译器  llvm CLang.还支持Unicode 中文汉字 变量名. 用经典的bcc32编译还是不支持! class TPerson ...

  9. 为什么数据科学家们选择了Python语言?

    本文由 伯乐在线 - HanSir 翻译,toolate 校稿 英文出处:Quora [伯乐在线导读]:这个问题来自 Quora,题主还补充说,“似乎很多搞数据的程序员都挺擅长 Python 的,这是 ...

  10. socket的一个错误的解释SocketException以及其他几个常见异常

    写socket程序有可能会遇见这个问题  其他信息: 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受.  这种情况我的 错误原因 ...