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

对话框与窗口

开发平台:

Visual C++

  1. // XTPPreviewView.h : header file
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #if !defined(_XTPPREVIEWVIEW_H__)
  21. #define _XTPPREVIEWVIEW_H__
  22. #if _MSC_VER > 1000
  23. #pragma once
  24. #endif // _MSC_VER > 1000
  25. #include "XTPToolBar.h"
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CXTPPreviewView view
  28. #define XPT_ZOOM_WHOLEPAGE 0
  29. #define XPT_ZOOM_PAGEWIDTH 1
  30. class _XTP_EXT_CLASS CXTPPreviewView : public CPreviewView
  31. {
  32. DECLARE_DYNCREATE(CXTPPreviewView)
  33. protected:
  34. CXTPPreviewView();
  35. private:
  36. CXTPControl* FindToolbarButton(UINT nCommandID);
  37. virtual void PositionPage(UINT nPage);
  38. void SetScaledSize(UINT nPage);
  39. void DoZoom(UINT nPage, CPoint point);
  40. void SetZoomState(UINT nNewState, UINT nPage, CPoint point);
  41. CSize CalcPageDisplaySize() ;
  42. void SetupScrollbar() ;
  43. void ZoomIn(UINT nPage, CPoint point);
  44. protected:
  45. #ifdef _DEBUG
  46. virtual void AssertValid() const;
  47. virtual void Dump(CDumpContext& dc) const;
  48. #endif
  49. protected:
  50. //{{AFX_VIRTUAL(CXTPPreviewView)
  51. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  52. //}}AFX_VIRTUAL
  53. //{{AFX_MSG(CXTPPreviewView)
  54. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  55. afx_msg void OnWindowPosChanged(WINDOWPOS FAR* lpwndpos);
  56. afx_msg void OnPaint();
  57. afx_msg BOOL OnEraseBkgnd(CDC*);
  58. afx_msg void OnNumPageChange();
  59. afx_msg void OnZoomIn();
  60. afx_msg void OnZoomOut();
  61. afx_msg void OnUpdateNumPageChange(CCmdUI* pCmdUI);
  62. afx_msg void OnUpdateZoomIn(CCmdUI* pCmdUI);
  63. afx_msg void OnUpdateZoomOut(CCmdUI* pCmdUI);
  64. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  65. afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
  66. afx_msg void OnPreviewPages();
  67. afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) ;
  68. afx_msg void OnSize(UINT nType, int cx, int cy);
  69. afx_msg void OnGotoPageSetFocus(NMHDR* pNMHDR, LRESULT* pRes);
  70. afx_msg void OnGotoPageKillFocus(NMHDR* pNMHDR, LRESULT* pRes);
  71. afx_msg void OnUpdateGotoPage(CCmdUI* pCmdUI);
  72. afx_msg void OnZoomCombo(NMHDR* pNMHDR, LRESULT* pRes);
  73. afx_msg void OnOnePage();
  74. afx_msg void OnTwoPage(NMHDR* pNMHDR, LRESULT* pRes);
  75. //}}AFX_MSG
  76. DECLARE_MESSAGE_MAP()
  77. protected:
  78. // note that is you change the maximum number of pages that can be displayed in preview mode
  79. // you have to increase the size of this array to make sure there is an entry available for every
  80. // possible page that can be shown at once.
  81. PAGE_INFO m_pageInfoArray2[9]; // Embedded array for the default implementation - replaces MFC one of size 2!
  82. CXTPToolBar m_wndToolBar;
  83. int m_cxPixelsPerInch;
  84. int m_cyPixelsPerInch;
  85. // these variables are used in the page layout algorithm
  86. int m_Across ;          // number across the page, >= 1
  87. int m_Down ;            // number down the page, >= 1
  88. CPoint m_PageOffset;    // amount to move the page from one position to the next
  89. };
  90. #endif // !defined(_XTPPREVIEWVIEW_H__)