ExcelTabView.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:3k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // ExcelTabView.h : interface of the CExcelTabView class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_EXCELTABVIEW_H__CD07EB0B_7DC7_4DD3_AAB6_0A468DDC6C2C__INCLUDED_)
  5. #define AFX_EXCELTABVIEW_H__CD07EB0B_7DC7_4DD3_AAB6_0A468DDC6C2C__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "ExcelListCtrl.h"
  10. #include "ExcelEditCtrl.h"
  11. #include "ExcelTreeCtrl.h"
  12. #include "ExcelFormView.h"
  13. #include "ExcelScrollView.h"
  14. class CExcelTab
  15. {
  16. public:
  17. CExcelTab() : m_pWndTab(NULL) {}
  18. CString m_csTab;
  19. CWnd* m_pWndTab;
  20. };
  21. typedef CList<CExcelTab, CExcelTab&> CExcelTabArray;
  22. class CExcelTabView : public CView
  23. {
  24. protected: // create from serialization only
  25. CExcelTabView();
  26. DECLARE_DYNCREATE(CExcelTabView)
  27. // Attributes
  28. public:
  29. CExcelTabDoc* GetDocument();
  30. void UpdateExcelTab();
  31. // Operations
  32. public:
  33. // Overrides
  34. // ClassWizard generated virtual function overrides
  35. //{{AFX_VIRTUAL(CExcelTabView)
  36. public:
  37. virtual void OnDraw(CDC* pDC);  // overridden to draw this view
  38. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  39. protected:
  40. virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
  41. virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
  42. virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
  43. //}}AFX_VIRTUAL
  44. // Implementation
  45. public:
  46. virtual ~CExcelTabView();
  47. #ifdef _DEBUG
  48. virtual void AssertValid() const;
  49. virtual void Dump(CDumpContext& dc) const;
  50. #endif
  51. protected:
  52. CFont m_font;
  53. CXTPEmptyRect m_rcTabs;
  54. CXTExcelTabCtrl* m_pExcelTabCtrl;
  55. CExcelTabArray m_arExcelTabs;
  56. DWORD m_dwTabStyle;
  57. BOOL  m_bBottom;
  58. BOOL  m_bHasArrows;
  59. BOOL  m_bHasHomeEnd;
  60. BOOL  m_bHScroll;
  61. // use the flicker free template class, this will create the objects
  62. // making them flicker free!
  63. CXTNoFlickerWnd <CExcelListCtrl> m_sheet1;
  64. CXTNoFlickerWnd <CExcelEditCtrl> m_sheet2;
  65. CXTNoFlickerWnd <CExcelTreeCtrl> m_sheet3;
  66. CXTNoFlickerWnd <CXTListBox>      m_sheet4;
  67. CXTNoFlickerWnd <CXTListBox>      m_sheet5;
  68. CXTNoFlickerWnd <CXTListBox>      m_sheet6;
  69. CExcelFormView*                  m_pSheet7;
  70. CExcelScrollView*                m_pSheet8;
  71. BOOL CreateExcelTab();
  72. void UpdateTabsStyle();
  73. BOOL CreateSheet1();
  74. BOOL CreateSheet2();
  75. BOOL CreateSheet3();
  76. BOOL CreateSheet4();
  77. BOOL CreateSheet5();
  78. BOOL CreateSheet6();
  79. BOOL CreateSheet7();
  80. BOOL CreateSheet8();
  81. // Generated message map functions
  82. protected:
  83. //{{AFX_MSG(CExcelTabView)
  84. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  85. afx_msg void OnSize(UINT nType, int cx, int cy);
  86. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  87. afx_msg void OnPaint();
  88. afx_msg void OnExceltabProperties();
  89. //}}AFX_MSG
  90. DECLARE_MESSAGE_MAP()
  91. friend class CExcelTabProperties;
  92. };
  93. #ifndef _DEBUG  // debug version in ExcelTabView.cpp
  94. inline CExcelTabDoc* CExcelTabView::GetDocument()
  95.    { return (CExcelTabDoc*)m_pDocument; }
  96. #endif
  97. /////////////////////////////////////////////////////////////////////////////
  98. //{{AFX_INSERT_LOCATION}}
  99. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  100. #endif // !defined(AFX_EXCELTABVIEW_H__CD07EB0B_7DC7_4DD3_AAB6_0A468DDC6C2C__INCLUDED_)