格格巫

做有艺术的程序,做一个有商人头脑的程序员。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

bcgmenubar

代码:

1.stdafx.h

//加入bcg库头文件

#include <BCGCBProInc.h>

2.app类:

class Cbcg1App : public CWinApp,CBCGPWorkspace
{
public:
    Cbcg1App();

// 重写
public:
    virtual BOOL InitInstance();

// 实现
    afx_msg void OnAppAbout();
    DECLARE_MESSAGE_MAP()
};

3.框架类

#define CFrameWnd CBCGPFrameWnd
class CMainFrame : public CFrameWnd
{
protected: // 仅从序列化创建
    CMainFrame();
    DECLARE_DYNCREATE(CMainFrame)

// 属性
public:

// 操作
public:

// 重写
public:
    virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

// 实现
public:
    virtual ~CMainFrame();
#ifdef _DEBUG
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
#endif

protected:  // 控件条嵌入成员
    CBCGPMenuBar m_wndMenuBar;//必须有一个
    CBCGPStatusBar  m_wndStatusBar;
    CBCGPToolBar    m_wndToolBar; //可以有多个

// 生成的消息映射函数
protected:
    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
    DECLARE_MESSAGE_MAP()
};

4.框架类的oncreate方法

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
        return -1;
    if (!m_wndMenuBar.Create(this))
    {
        TRACE0("没有创建bcgmenubar\n");
        return -1;
    }
    if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
        | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
        !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
    {
        TRACE0("未能创建工具栏\n");
        return -1;      // 未能创建
    }

    if (!m_wndStatusBar.Create(this) ||
        !m_wndStatusBar.SetIndicators(indicators,
          sizeof(indicators)/sizeof(UINT)))
    {
        TRACE0("未能创建状态栏\n");
        return -1;      // 未能创建
    }
    //设置cbcgpmenubar样式
    m_wndMenuBar.SetBarStyle(m_wndMenuBar.GetBarStyle()|CBRS_TOOLTIPS|
        CBRS_FLYBY|CBRS_SIZE_DYNAMIC);

    // TODO: 如果不需要工具栏可停靠,则删除这三行
    m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
    EnableDocking(CBRS_ALIGN_ANY);
    DockControlBar(&m_wndToolBar);
    DockControlBar(&m_wndMenuBar);

    return 0;
}

posted on 2009-05-26 17:24  格格-巫  阅读(955)  评论(0编辑  收藏  举报