VS Ribbon界面的三個成員變量
#t#Visual C++有很多值得學習的地方,這里我們主要介紹VS Ribbon界面,包括介紹Ribbon界面的構(gòu)成等方面。為了支持新的界面風格的開發(fā),MFC提供了很多新的、經(jīng)過擴展過后的應(yīng)用程序類,界面類等。例如在我們的實例程序中用到的 CRibbonApp,CMainFrame就是分別從CWinAppEx,CMDIFrameWndEx派生的。
而CWinAppEx和 CMDIFrameWndEx又是從傳統(tǒng)的CWinApp和CMDIFrameWnd派生,在原有類的基礎(chǔ)上,添加了對新的界面風格的支持。
熟悉MFC界面開發(fā)的朋友都知道,應(yīng)用程序的CMainFrame類負責整個主框架界面的創(chuàng)建和管理,在傳統(tǒng)的菜單式界面下,它負責創(chuàng)建和管理菜單欄,狀態(tài)欄,工具欄等。同樣的,在VS Ribbon界面下,它同樣負責VS Ribbon界面的創(chuàng)建和管理。
- class CMainFrame : public CMDIFrameWndEx
- {
- DECLARE_DYNAMIC(CMainFrame)
- public:
- CMainFrame();
- // Attributes
- public:
- // Operations
- public:
- // Overrides
- public:
- virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
- // Implementation
- public:
- virtual ~CMainFrame();
- #ifdef _DEBUG
- virtual void AssertValid() const;
- virtual void Dump(CDumpContext& dc) const;
- #endif
- protected:// control bar embedded members
- CMFCRibbonBar m_wndRibbonBar;
- CMFCRibbonApplicationButton m_MainButton;
- CMFCToolBarImages m_PanelImages;
- CMFCRibbonStatusBarm_wndStatusBar;
- // Generated message map functions
- protected:
- afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
- afx_msg void OnWindowManager();
- afx_msg void OnApplicationLook(UINT id);
- afx_msg void OnUpdateApplicationLook(CCmdUI* pCmdUI);
- DECLARE_MESSAGE_MAP()
- void InitializeRibbon();
- }
從上面的代碼中我們可以看到,在VS Ribbon界面下,CMainFrame類包含了三個成員變量:m_wndRibbonBar、 m_MainButton、m_wndStatusBar,分別用于控制VS Ribbon界面的命令面板,應(yīng)用程序按鈕和狀態(tài)欄。清楚了各個變量對應(yīng)的 VS Ribbon界面元素后,我們就可以操作相應(yīng)的成員變量,在VS Ribbon界面上添加我們需要的內(nèi)容。